Wie sende ich eine E-Mail von jsp / servlet?

7

Wie sende ich eine E-Mail von JSP / Servlet? Ist es notwendig, ein paar Jars herunterzuladen oder können Sie eine E-Mail von JSP / Servlets ohne Jars schicken?

  • Wie würde mein Java-Code aussehen?

  • Wie würde mein HTML-Code aussehen (falls vorhanden)?

  • Sind mehrere Klassen erforderlich oder können Sie nur eine Klasse verwenden?

mihir.gandhrokiya 21.09.2010, 05:04
quelle

5 Antworten

22

Die Mailer-Logik sollte in eine eigenständige Klasse übergehen, die Sie überall wiederverwenden können. Die JSP-Datei sollte nur Präsentationslogik und Markup enthalten. Die Servlet-Klasse sollte die Anfrage nur auf die geeignete Weise verarbeiten und die Mailerklasse aufrufen. Hier sind die Schritte, die Sie ergreifen müssen:

  1. Entscheiden Sie zuerst, welchen SMTP-Server Sie verwenden möchten, damit Sie E-Mails senden können. Der von Ihrem ISP? Die von Google Mail? Yahoo? Website-Hosting-Anbieter? Ein selbst gepflegter? Unabhängig davon, geben Sie den Hostnamen, den Port, den Benutzernamen und das Passwort dieses SMTP-Servers an. Du wirst diese Information brauchen.

  2. Erstellen Sie eine einfache Java-Klasse, die JavaMail-API verwendet, um eine E-Mail-Nachricht zu senden. Die JavaMail-API wird mit einem hervorragenden Tutorial und FAQ . Benennen Sie die Klasse Mailer und geben Sie ihr eine send() -Methode (oder was immer Sie wollen). Testen Sie es mit einer Testklasse mit einer main() Methode wie folgt:

    %Vor%

    Sie können es so einfach oder fortgeschritten machen, wie Sie möchten. Es spielt keine Rolle, solange Sie eine Klasse haben, mit der Sie eine solche Mail senden können.

  3. Nun zum JSP-Teil, es ist nicht ganz klar, warum Sie JSP erwähnt haben, aber da eine JSP sollte nur HTML darstellen, ich wette, dass Sie in einer JSP so etwas wie ein Kontaktformular haben möchten. Hier ist ein Kickoff-Beispiel:

    %Vor%

    Ja, einfach, einfach markieren / stylen Sie es wie Sie wollen.

  4. Erstellen Sie jetzt eine Servlet-Klasse, die auf einem url-pattern von /contact (dem Formular, an das gesendet wird) hört und die doPost() -Methode (dieselbe Methode, die das Formular verwendet) wie folgt implementiert:

    %Vor%

    Das ist es. Halte es einfach und sauber. Jedes Ding hat seine eigenen Verantwortlichkeiten.

BalusC 21.09.2010 12:41
quelle
4

Sie können E-Mails von jsp oder servlet senden, während wir sie mit java mail api aus der Klassendatei senden. Hier ist der Link, der Ihnen dabei helfen wird:

Ссылка

    
prakash.panjwani 21.09.2010 07:19
quelle
2

Ich benutze Javamail-Paket und es funktioniert sehr gut. Die oben gezeigten Beispiele sind gut, aber wie ich sehen kann, haben sie keine Parameter in externen Dateien definiert (zB web.xml), was empfohlen wird ...

Stellen Sie sich vor, Sie möchten Ihre E-Mail-Adresse oder Ihren SMTP-Host ändern. Es ist viel einfacher, die Datei web.xml als 10 Servlets zu bearbeiten, in denen Sie die E-Mail-Funktion verwendet haben. Fügen Sie beispielsweise die nächsten Zeilen in web.xml

hinzu %Vor%

Dann können Sie über Servlet mit

auf diese Parameter zugreifen %Vor%     
mangia 21.09.2010 12:05
quelle
1

JSP-Seite:

%Vor%

Hier ist der Servlet-Code:

%Vor%

Und die SendEmail-Klasse:

%Vor%     
Hareesh 20.12.2013 12:49
quelle
-1

Diese grundlegende Einrichtung funktionierte gut:

Importieren Sie mail.jar und activation.jar in den Ordner WEB_INF / lib im Projekt.

Erhalten Sie mail.jar von JavaMail (neueste Version von der offiziellen Website) .

Erhalten activation.jar von Ссылка p>

1. Erstes jsp: emailForm.jsp

Dies ist ein Formular, das verwendet wird, um die Absender-, Empfängerdetails-, Betreff- und Nachrichteninhalte an die emailUtility

zu übergeben %Vor%

2. Zweites jsp: emailUtility.jsp

Dies ist die Formularaktion, die im vorherigen JSP (emailForm.jsp) erwähnt wurde.

%Vor%

3. Gehe zur folgenden URL

Ссылка

4. Starten Sie den Server neu, wenn er einen Serverfehler verursacht.

    
Smug 27.06.2016 10:37
quelle

Tags und Links