JavaMail sendet E-Mails über einen E-Mail-Server, normalerweise über die SMTP-Schnittstelle eines E-Mail-Anbieters. Ist es notwendig, einen E-Mail-Server zum Senden von E-Mails zu verwenden?
Ich habe eine Website, auf der E-Mails gesendet werden, und wenn möglich, möchte ich die E-Mails direkt aus dem Website-Code senden, ohne einen E-Mail-Server zu verwenden. In den JavaMail-FAQ heißt es, dass ein E-Mail-Server erforderlich ist.
Gibt es eine Möglichkeit, E-Mails ohne Verwendung eines E-Mail-Servers zu senden, entweder mit JavaMail oder einer anderen API?
Antworten:
Sie können eine E-Mail direkt an einen der im MX-Datensatz der Adressdomäne genannten SMTP-Server senden. Normalerweise ist das jedoch eine schlechte Idee:
Die Zustellung der E-Mails an einen lokalen Server ist schnell - Sie können fast sofort fortfahren und etwas anderes tun und den Server die Zustellung überlassen.
Die eigentliche Zustellung kann einige Zeit dauern, z. B. kann der Remote-Mailserver langsam sein. Oder es wird die E-Mail zuerst abgelehnt - es ist eine bekannte Strategie gegen Spam, einen Absender anzuweisen, eine E-Mail ein zweites Mal zu senden, was einige Spam-Bots nicht tun.
Außerdem kann der Mailserver einen Tag später problemlos erneut versuchen, wenn der Remote-Server nicht verfügbar ist. Dies verringert das Risiko von Mailverlust.
quelle
Es hängt alles davon ab, was Sie unter "verwenden" genau verstehen.
Wenn "Verwendung" nur die direkte Verwendung eines E-Mail-Servers umfasst, können Sie die E-Mail weiterleiten, um sie über einen anderen Dienst indirekt an einen E-Mail-Server zu senden . Für praktische Anwendungsfälle scheint dies für mich eine "Good Enough ™" -Lösung zu sein.
Wenn Ihre Frage jedoch wörtlich " ohne E-Mail-Server " bedeutet, ist dies nur möglich, wenn Ihre Software die E-Mails auf eine Weise Ihrer Wahl in den Posteingang des Zielclients stellen kann, außer POP3 oder IMAP oder ein anderes E-Mail-relevantes Protokoll, das im E-Mail-Kontext verwendet wird (denn wenn Sie ein solches Protokoll verwenden würden, würde dieses bestimmte Programm als Mailserver fungieren, was nicht zulässig ist).
Um die Frage zu beantworten: Ja. Zumindest theoretisch.
quelle
Wenn wir eine E-Mail aus Java-Code an jemanden senden müssen, müssen wir Zugriff auf einige Mail-Server-Anmeldeinformationen haben. Nun, nicht immer.
Google hat freien Zugriff auf einen seiner Mailserver bereitgestellt, und Sie können ihn in Java-Code verwenden. Unten geschriebener Code, wenn eher eine Notiz an mich. Wenn ich es irgendwann brauche, können Sie hier nachschlagen : http://www.computerbuzz.in/2014/02/how-to-send-email-in-java-using-gmail.html
quelle