In een mail-applicatie probeer ik te achterhalen wat de oorzaak is van een bounce. Dit doe ik door de tekst van een email die terugkomt te analyseren en te zoeken op 5.x.x en 4.x.x codes. In een van de mailtjes die ik terugkreeg tijdens wat testjes zag ik het volgende:
Dit is een adres waarvan ik weet dat de mailbox vol zit. Dat het mailtje terug komt is dus terecht. Waar het mij nu om gaat is: wat is nu de 'echte' foutcode?
X.0.X is een ongespecificeerde status volgens RFC 1893
554 betekent 'transaction' failed volgens RFC 2821
552 betekent 'exceeded storage allocation' volgens RFC 2821
De laatste is de code die het beste weergeeft wat de situatie is, maar hoe kan ik die code er automatisch uitvissen als ik alleen de beschikking heb over de tekst van de mail? Doen alle MTA's dit op een standaardmanier en kan ik dus gaan zoeken op <<< xxx als code?
code:
1
2
3
4
5
6
7
8
9
| ----- The following addresses had permanent fatal errors -----
<removed_to_protect_the_innocent@hotmail.com>
(reason: 552 Requested action not taken: exceeded storage allocation)
----- Transcript of session follows -----
... while talking to mx1.hotmail.com.:
>>> RCPT To:<removed_to_protect_the_innocent@hotmail.com>
<<< 552 Requested action not taken: exceeded storage allocation
554 5.0.0 Service unavailable |
Dit is een adres waarvan ik weet dat de mailbox vol zit. Dat het mailtje terug komt is dus terecht. Waar het mij nu om gaat is: wat is nu de 'echte' foutcode?
X.0.X is een ongespecificeerde status volgens RFC 1893
554 betekent 'transaction' failed volgens RFC 2821
552 betekent 'exceeded storage allocation' volgens RFC 2821
De laatste is de code die het beste weergeeft wat de situatie is, maar hoe kan ik die code er automatisch uitvissen als ik alleen de beschikking heb over de tekst van de mail? Doen alle MTA's dit op een standaardmanier en kan ik dus gaan zoeken op <<< xxx als code?
With the light in our eyes, it's hard to see.