Latest web development tutorials

Servlets E-Mail

Senden Sie eine E-Mail an den Servlet mit sehr einfach ist, aber zuerst müssen SieJava Mail API und das Java Activation Framework)auf Ihrem ComputerJAF) installieren.

  • Sie können die neueste Version von Java herunterladen der Java Mail , öffnen Sie die rechte Seite der Seite gibt es einen Link Downloads, klicken Sie auf, um sie herunterzuladen.
  • Sie können die neueste Version von Java herunterladen (Version 1.1.1) JAF .

Sie können auch die Website nutzen Download-Link zur Verfügung zu stellen:

Downloaden und entpacken Sie die Dateien in der neu Top-Level-Verzeichnis erstellt, werden Sie einige JAR-Datei zwei Anwendungen. Sie müssenmail.jar und activation.jarDateien auf Ihren CLASSPATH hinzuzufügen.

Senden Sie eine einfache E-Mail

Die folgenden Beispiele senden eine einfache E-Mail von Ihrem Computer. Dies setzt voraus , Ihremlokalen Host auf das Internet und E-Mail - Support verbunden ist.Während sichergestellt wird, dass Java E-Mail-API-Pakete und JAF Paket alle JAR-Dateien in der CLASSPATH zur Verfügung stehen.

// Dateiname SendEmail.java
import java.io. *;
import java.util * .;
Import javax.servlet * .;
Import javax.servlet.http * .;
Import javax.mail * .;
Import javax.mail.internet * .;
Import javax.activation * .;
 
public class Sendemail erweitert HttpServlet {
    
  public void doGet (HttpServletRequest Anfrage,
                    HttpServletResponse Antwort)
            wirft ServletException, IOException
  {
      // Des Empfängers E-Mail-ID
      String = "[email protected]";
 
      // Absender E-Mail-ID
      String aus = "[email protected]";
 
      // Angenommen, Sie E-Mail-String host = "localhost" aus dem lokalen Host zu senden;
 
      // Systemeigenschaften Eigenschaften Properties = System.getProperties Get ();
 
      // Stellen Sie einen Mail-Server properties.setProperty ( "mail.smtp.host", Host) nach oben;
 
      // Holen Sie sich die Standard-Session-Objekt Session session = Session.getDefaultInstance (Eigenschaften);
      
      // Den Antwortinhalt Typ response.setContentType ( "text / html; charset = UTF-8");
      Printwriter out = response.getWriter ();

      try {
         // Eine Standardmimemessage Objekte Mimemessage message = neue Mimemessage (Session);
         // Stellen Sie die From: Header-Feld des Headers.
         message.setFrom (neue Internetadresse (von));
         // Set To: Header-Feld des Headers.
         message.addRecipient (Message.RecipientType.TO,
                                  neue Internetadresse (to));
         // Stellen Sie den Betreff: Header-Feld
         message.setSubject ( "Dies ist der Betreff-Zeile!");
         // Jetzt die eigentliche Nachricht message.setText ( "Dies ist tatsächlich Meldung") festgelegt;
         // Senden Sie die Nachricht Transport.send (Nachricht);
         String title = "E-Mail";
         String res = "erfolgreich gesendeten Nachrichten ...";
         String docType = "\ n <DOCTYPE html!>";
         out.println (docType +
         "<Html> \ n" +
         "<Head> <title>" + Titel + "</ title> </ head> \ n" +
         "<Body bgcolor = \" # f0f0f0 \ "> \ n" +
         "<H1 align = \" center \ ">" + Titel + "</ h1> \ n" +
         "<P align = \" center \ ">" + res + "</ p> \ n" +
         "</ Body> </ html>");
      } Catch (MessagingException mex) {
         mex.printStackTrace ();
      }
   }
} 

Nun wollen wir die oben Servlet kompilieren, und erstellen Sie den folgenden Eintrag in der Datei web.xml:

....
 <Servlets>
     <Servlet-name> Sendemail </ Servlet-name>
     <Servlet-Klasse> Sendemail </ Servlet-Klasse>
 </ Servlet>
 
 <Servlet-mapping>
     <Servlet-name> Sendemail </ Servlet-name>
     <URL-Muster> / Sendemail </ url-pattern>
 </ Servlet-mapping>
....

Nun, indem Sie die URL http Besuch: // localhost: 8080 / Sendemail Servlets zu nennen. Dies wird eine E - Mail an die angegebene E - MailID[email protected] und erscheint senden , wie in der folgenden Reaktion gezeigt:

E-Mail senden

Erfolgreich eine Nachricht geschickt ...

Wenn Sie eine E-Mail an mehrere Empfänger senden möchten, verwenden Sie die folgenden Methoden mehrere E-Mail-ID angeben:

Leere addRecipients (Message.RecipientType Typ, 
                   Adresse [] Adressen)
wirft MessagingException

Nachfolgend finden Sie eine Beschreibung der Parameter:

  • Typ: Dies wird als TO, CC oder BCC eingestellt werden.Hier CC im Auftrag von CC, BCC BCC Vertreter. Zum BeispielMessage.RecipientType.TO.
  • Adressen: Dies ist eine Reihe von E-Mail - ID.Wenn E-Mail-ID angibt, müssen Sie Internetadresse () Methode zu verwenden.

Senden Sie eine HTML-E-Mail

Im folgenden Beispiel wird eine HTML-formatierte E-Mail auf Ihrem Computer senden. Dies setzt voraus , Ihremlokalen Host auf das Internet und E-Mail - Support verbunden ist.Während sichergestellt wird, dass Java E-Mail-API-Pakete und JAF Paket alle JAR-Dateien in der CLASSPATH zur Verfügung stehen.

Dieses Beispiel ist sehr ähnlich zu den vorherigen Beispielen, aber hier verwenden wir setContent () -Methode den zweiten Parameter festgelegt ist "text / html" Inhalt dieser Parameter verwendet wird, um die HTML-Inhalte in der Nachricht enthaltenen angeben.

Mit diesem Beispiel können Sie die Inhalte senden nicht auf die Größe des HTML-Inhalte beschränkt ist.

// Dateiname SendEmail.java
import java.io. *;
import java.util * .;
Import javax.servlet * .;
Import javax.servlet.http * .;
Import javax.mail * .;
Import javax.mail.internet * .;
Import javax.activation * .;
 
public class Sendemail erweitert HttpServlet {
    
  public void doGet (HttpServletRequest Anfrage,
                    HttpServletResponse Antwort)
            wirft ServletException, IOException
  {
      // Des Empfängers E-Mail-ID
      String = "[email protected]";
 
      // Absender E-Mail-ID
      String aus = "[email protected]";
 
      // Angenommen, Sie E-Mail-String host = "localhost" aus dem lokalen Host zu senden;
 
      // Systemeigenschaften Eigenschaften Properties = System.getProperties Get ();
 
      // Stellen Sie einen Mail-Server properties.setProperty ( "mail.smtp.host", Host) nach oben;
 
      // Holen Sie sich die Standard-Session-Objekt Session session = Session.getDefaultInstance (Eigenschaften);
      
	  // Den Antwortinhalt Typ response.setContentType ( "text / html; charset = UTF-8");
      Printwriter out = response.getWriter ();

      try {
         // Eine Standardmimemessage Objekte Mimemessage message = neue Mimemessage (Session);
         // Stellen Sie die From: Header-Feld des Headers.
         message.setFrom (neue Internetadresse (von));
         // Set To: Header-Feld des Headers.
         message.addRecipient (Message.RecipientType.TO,
                                  neue Internetadresse (to));
         // Stellen Sie den Betreff: Header-Feld
         message.setSubject ( "Dies ist der Betreff-Zeile!");

         // Die tatsächliche HTML-Nachrichteninhalt Größe begrenzt message.setContent Set ( "<h1> Dies ist eigentliche Nachricht </ h1>",
                            "Text / html");
         // Senden Sie die Nachricht Transport.send (Nachricht);
         String title = "E-Mail";
         String res = "erfolgreich gesendeten Nachrichten ...";
         String docType = "\ n <DOCTYPE html!>";
         out.println (docType +
         "<Html> \ n" +
         "<Head> <title>" + Titel + "</ title> </ head> \ n" +
         "<Body bgcolor = \" # f0f0f0 \ "> \ n" +
         "<H1 align = \" center \ ">" + Titel + "</ h1> \ n" +
         "<P align = \" center \ ">" + res + "</ p> \ n" +
         "</ Body> </ html>");
      } Catch (MessagingException mex) {
         mex.printStackTrace ();
      }
   }
} 

Kompilieren und die oben Servlets ausführen, HTML-Nachrichten auf einem bestimmten E-Mail-ID senden.

Senden Sie Anhänge in E-Mail

Die folgenden Beispiele senden Sie eine E-Mail mit einem Anhang auf Ihrem Computer sein. Dies setzt voraus , Ihremlokalen Host auf das Internet und E-Mail - Support verbunden ist.Während sichergestellt wird, dass Java E-Mail-API-Pakete und JAF Paket alle JAR-Dateien in der CLASSPATH zur Verfügung stehen.

// Dateiname SendEmail.java
import java.io. *;
import java.util * .;
Import javax.servlet * .;
Import javax.servlet.http * .;
Import javax.mail * .;
Import javax.mail.internet * .;
Import javax.activation * .;
 
public class Sendemail erweitert HttpServlet {
    
  public void doGet (HttpServletRequest Anfrage,
                    HttpServletResponse Antwort)
            wirft ServletException, IOException
  {
      // Des Empfängers E-Mail-ID
      String = "[email protected]";
 
      // Absender E-Mail-ID
      String aus = "[email protected]";
 
      // Angenommen, Sie E-Mail-String host = "localhost" aus dem lokalen Host zu senden;
 
      // Systemeigenschaften Eigenschaften Properties = System.getProperties Get ();
 
      // Stellen Sie einen Mail-Server properties.setProperty ( "mail.smtp.host", Host) nach oben;
 
      // Holen Sie sich die Standard-Session-Objekt Session session = Session.getDefaultInstance (Eigenschaften);
      
	  // Den Antwortinhalt Typ response.setContentType ( "text / html; charset = UTF-8");
      Printwriter out = response.getWriter ();

       try {
         // Eine Standardmimemessage Objekte Mimemessage message = neue Mimemessage (Session);
 
         // Stellen Sie die From: Header-Feld des Headers.
         message.setFrom (neue Internetadresse (von));
 
         // Set To: Header-Feld des Headers.
         message.addRecipient (Message.RecipientType.TO,
                                  neue Internetadresse (to));
 
         // Stellen Sie den Betreff: Header-Feld
         message.setSubject ( "Dies ist der Betreff-Zeile!");
 
         // Erstellen Sie eine Nachricht Teil Bodypart messageBodyPart = new Mimebodypart ();
 
         // Geben Sie eine Nachricht messageBodyPart.setText ( "Dieser Nachrichtentext ist");
         
         // Erstellen Sie eine mehrteilige Nachricht Mehrteiliger mehrt = new MimeMultipart ();
 
         // Set Textnachricht Teile multipart.addBodyPart (messageBodyPart);
 
         // Der zweite Teil ist ein Zubehör messageBodyPart = new Mimebodypart ();
         String filename = "file.txt";
         Datasource-Quelle = new FileDataSource (Dateiname);
         messageBodyPart.setDataHandler (neue Datahandler (Quelle));
         messageBodyPart.setFileName (Dateiname);
         multipart.addBodyPart (messageBodyPart);
 
         Senden // eine komplette Nachrichtenteil message.setContent (mehrteiliger);
 
         // Senden Sie die Nachricht Transport.send (Nachricht);
         String title = "E-Mail";
         String res = "erfolgreich per E-Mail senden ...";
         String docType = "\ n <DOCTYPE html!>";
         out.println (docType +
         "<Html> \ n" +
         "<Head> <title>" + Titel + "</ title> </ head> \ n" +
         "<Body bgcolor = \" # f0f0f0 \ "> \ n" +
         "<H1 align = \" center \ ">" + Titel + "</ h1> \ n" +
         "<P align = \" center \ ">" + res + "</ p> \ n" +
         "</ Body> </ html>");
      } Catch (MessagingException mex) {
         mex.printStackTrace ();
      }
   }
} 

Kompilieren und die oben Servlets ausführen, senden Sie Nachrichten mit Dateianhängen an einem bestimmten E-Mail-ID.

Die Benutzerauthentifizierung Abschnitt

Wenn Sie die E-Mail-Server-Benutzer-ID und Passwort-Authentifizierung zur Verfügung stellen müssen, können Sie die folgenden Eigenschaften festlegen:

 props.setProperty ( "mail.user", "myuser");
 props.setProperty ( "mail.password", "mypwd");

Der Rest des Abgabemechanismus e-mail ist konsistent mit den oben erklären.