So senden Sie eine E-Mail von jsp - /servlet?
So senden Sie eine E-Mail von JSP - /servlet? Ist es notwendig, zum download einige Gläser oder können Sie senden eine E-Mail von JSP/servlets ohne Gläser?
-
Was würde mein Java-code Aussehen?
-
Was würde mein HTML-code so Aussehen (wenn überhaupt)?
-
Sind mehrere Klassen notwendig, oder kann man auch nur eine Klasse?
- Bitte google für solche trivialen Fragen Sie vor der Buchung auf, SO. Die folgenden links sind unter den ersten zehn Ergebnissen.
- Google gebunden ist beliebt Ergebnisse. Menschen nutzen StackOverflow um tatsächliche Menschen Meinung als Gegensatz zu Mountain View algorithmen. Das ist der springende Punkt, der StackOverflow-IMHO.
- erste meta, das ist der Punkt, der Punkt-system. gute q/a bekommt mehr Punkte, zeigt sich mehr in der Suche, etc...aber, ja, bessere Ergebnisse (hoffentlich). ähnlich der Idee zum page rank, tho.
- Google hat mich hierher gebracht 😉
- Die Dinge haben sich geändert in 4 Jahren. Stackoverflow wurde die maßgebliche Quelle für die meisten Programmier-Probleme also ich glaube nicht, dass meine früheren Kommentar noch gilt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den mailer Logik gehen sollte, in seine eigene, unabhängige Klasse, die Sie wiederverwenden können überall. Die JSP-Datei enthalten sollte, Präsentation, Logik und markup nur. Die Servlet-Klasse sollte einfach verarbeiten der Anforderung der geeignete Weg, und rufen Sie die mailer-Klasse. Hier sind die Schritte, die Sie ergreifen müssen:
Zunächst entscheiden, welche SMTP-server, die Sie verwenden möchten, so dass Sie wäre in der Lage, emails zu versenden. Die eine von Ihrem ISP? Die, die man von Gmail? Yahoo? Website-hosting-Anbieter? Eine selbst gepflegte? Unabhängig, Abbildung der hostname, port, Benutzername und Passwort des SMTP-Servers ein. Du wirst diese Informationen benötigen.
Erstellen eines einfachen Java-Klasse, die verwendet JavaMail API senden Sie eine mail Nachricht. Die JavaMail-API kommt mit einer exzellenten tutorial und FAQ. Name der Klasse
Mailer
und geben Sie es einsend()
- Methode (oder was immer Sie wollen). Testen Sie es mit einigen tester-Klasse mit einermain()
Methode wie diese:Können Sie machen es so einfach oder kompliziert sein, wie Sie wollen. Es spielt keine Rolle, solange Sie haben eine Klasse, mit der können Sie eine E-mail senden so.
Nun die JSP-Teil, es ist nicht ganz klar, warum Sie erwähnt, JSP, aber da ein JSP ist soll zu vertreten, nur HTML, ich Wette, dass Sie würde gerne so etwas wie ein Kontakt-Formular in einer JSP. Hier ist ein kickoff-Beispiel:
Ja, ganz einfach, nur markup/style was auch immer, wie Sie wollen.
Erstellen Sie jetzt eine Servlet-Klasse, die hört auf einer
url-pattern
von/contact
(das gleiche wie das Formular Absenden zu können) und die Umsetzung derdoPost()
Methode (die gleiche Methode wie das Formular verwendet) wie folgt:Das ist es. Halten Sie es einfach und sauber. Jedes Ding hat seine eigene klare Verantwortlichkeiten.
Können Sie E-mail senden von jsp-oder servlet-wir senden aus der class Datei mit java-mail-api.
Hier ist der link, der Ihnen helfen wird, dass:
http://www.java-samples.com/showtutorial.php?tutorialid=675
Ich bin mit javamail package und es funktioniert sehr gut. Die gezeigten Beispiele oben sind gut, aber wie kann ich sehen, Sie hat nicht die Definition von Parametern in einer externen Datei (z.B. web.xml) was zu empfehlen ist...
Vorstellen, dass Sie wollen, ändern Sie Ihre E-Mail-Adresse oder SMTP-host .. Es ist viel einfacher zu Bearbeiten web.xml Datei als 10 servlets, wo Sie die verwendete E-mail-Funktion. Zum Beispiel fügen Sie folgenden Zeilen web.xml
Dann können Sie Zugriff auf diese Parameter von servlet mit
JSP-Seite:
Hier ist die Servlet-code:
Und die SendEmail-Klasse:
Dieser basic setup funktionierte gut:
Import mail.jar und activation.jar in WEB_INF/lib - Ordner innerhalb des Projektes.
bekommen mail.jar von JavaMail(neueste version von der offiziellen Website).
bekommen activation.jar von http://www.oracle.com/technetwork/java/javase/jaf-136260.html
1. Erste jsp : emailForm.jsp
Dies ist eine form verwendet, um die Sender -, Empfänger-Details,Betreff und Inhalt der Nachricht, um die emailUtility
2. Zweite jsp : emailUtility.jsp
Dies ist die form, die Aktion bereits im vorherigen jsp(emailForm.jsp).
3. Gehen Sie zur folgenden URL
http://localhost:8080/projectname/emailForm.jsp
4. Starten Sie den server neu, wenn es u server-Fehler.