Hej!
Finns det nåt bra sätt att kolla om mailet gått fram?
Eller snarare om det inte gick att leverera?
Jag kör med IIS smtp-tjänst och JSP, javamail API.
4 svar · 287 visningar · startad av tosses
Hej!
Finns det nåt bra sätt att kolla om mailet gått fram?
Eller snarare om det inte gick att leverera?
Jag kör med IIS smtp-tjänst och JSP, javamail API.
Kolla här
http://java.sun.com/products/javamail/javadocs/javax/mail/Transport.html#send(javax.mail.Message)
Det kastas ett SendFailedException om det inet går bra. Fånga upp det om du vill hantera det.
Det här SendFailedException, kommer det tillbaka ifall mailet inte kan levereras. T.ex. om mailadressen inte finns osv...
Nope, det kan inte applikationen inte veta. Från det att du har lämnat över mailet till mailservern är det serverns problem.
Det du vill ha är snarare "MailDeliveryException". Det skulle innebära att mailservar skulle behöva hålla reda på vem som skickade mailet och sedan kasta ett exception.
Vi har en webapplikation som skickar bekräftelsemail. Den skickar detta med en speciell mail-adress. Varje mail får ju ett eget id som returneras av mailservern. Detta lagras i en databas tillsammans med info om vad som mailades och av vem. Om något går fel så får den boxen ett mail. Denna mailbox pollar vi med ca 10 minuters mellanrum. Om något skulle gå fel, t.ex. att man inte kan skicka till "kunden" för att det är fel mailadress så skrivs ett meddelande till den som är ansvarig för funktionen (t.ex. orderbekräftelser).
Stökig lösning men den funkar förvånandsvärt bra.
/Lime
Men är det inte så att smtpservern får tillbaka mailet och lägger det i badmailmappen eller nåt?? och på så sätt kan man lyfta det från den mappen ?? kanske ??