Latest web development tutorials

email Servlet

Wyślij e-mail przy użyciu aplet jest bardzo prosta, ale najpierw trzeba zainstalowaćJavaMail API i Java Framework aktywacja)na komputerzeJAF).

  • Możesz pobrać najnowszą wersję Java w JavaMail otwórz prawą stronę strony znajduje się do pobrania Link, kliknij na niego aby pobrać.
  • Możesz pobrać najnowszą wersję oprogramowania Java (wersja 1.1.1) JAF .

Można również korzystać z witryny, aby zapewnić pobieranie link:

Pobierz i rozpakuj pliki w nowo utworzonym katalogu najwyższego poziomu, można znaleźć jakiś plik JAR dwie aplikacje. Trzeba dodać plikimail.jar i activation.jardo CLASSPATH.

Wyślij prostą wiadomość

Poniższe przykłady wysłać prosty e-mail z komputera. Zakłada tolokalny komputer jest podłączony do Internetu i wsparcie e-mail.Przy jednoczesnym zapewnieniu, że Java API i pakiety email Pakiet JAF wszystkie pliki jar w ścieżce klasy są dostępne.

// Nazwa pliku 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 rozszerza HttpServlet {
    
  public void doGet (HttpServletRequest request,
                    HttpServletResponse odpowiedź)
            rzuca ServletException, IOException
  {
      // Odbiorcy e-mail ID
      String = "[email protected]";
 
      // Nadawcy e-mail ID
      String spośród = "[email protected]";
 
      // Powiedzmy wysyłania poczty elektronicznej hosta String = "localhost" z lokalnego hosta;
 
      // Pobierz System Properties Properties = System.getProperties ();
 
      // Utworzenie properties.setProperty serwera poczty ( "mail.smtp.host", host);
 
      // Pobierz sesji domyślne obiektu Session session = Session.getDefaultInstance (właściwości);
      
      // Ustaw typ zawartości odpowiedzi response.setContentType ( "text / html; charset = UTF-8");
      PrintWriter out = response.getWriter ();

      try {
         // Utworzenie domyślnego MimeMessage obiektów MimeMessage message = nowy MimeMessage (sesja);
         // Ustaw nagłówku From: pole nagłówka.
         message.setFrom (nowa InternetAddress (od));
         // Ustaw Do: pole nagłówka w nagłówku.
         message.addRecipient (Message.RecipientType.TO,
                                  Nowy InternetAddress (z));
         // Ustaw Temat: pole nagłówka
         message.setSubject ( "To jest wiersz tematu!");
         // Teraz określić rzeczywisty wiadomość message.setText ( "To jest rzeczywista Message");
         // Wysłać wiadomość Transport.send (komunikat);
         tytuł String = "email";
         res String = "pomyślnie wysłane wiadomości ...";
         Ciąg DOCTYPE = "\ n <DOCTYPE html!>";
         out.println (DOCTYPE +
         "<Html> \ n" +
         "<Head> <title>" + nazwa + "</ title> </ head> \ n" +
         "<Body bgcolor = \" # f0f0f0 \ "> \ n" +
         "<H1 align = \" center \ ">" + nazwa + "</ h1> \ n" +
         "<P align = \" center \ ">" + res + "</ p> \ n" +
         "</ Body> </ html>");
      } Catch (MessagingException mex) {
         mex.printStackTrace ();
      }
   }
} 

Teraz skompilować powyższy Servlet i utworzyć następujący wpis w pliku web.xml:

....
 <Serwletu>
     <Servlet-name> SendEmail </ servlet-name>
     <Servlet-class> SendEmail </ servlet-class>
 </ Servlet>
 
 <Servlet-mapping>
     <Servlet-name> SendEmail </ servlet-name>
     <Url-pattern> / SendEmail </ url-pattern>
 </ Servlet-mapping>
....

Teraz odwiedzając adres URL http: // localhost: 8080 / SendEmail nazwać tego apletu. Spowoduje to wysłanie e-maila na podany e-mail [email protected]~~HEAD=pobjID,a pojawi się, jak pokazano w poniższej reakcji:

Wyślij e-mail

Wysłano wiadomość ...

Jeśli chcesz wysłać wiadomość do wielu odbiorców, należy użyć jednej z następujących metod, aby określić wiele e-mail ID:

void addRecipients (typ Message.RecipientType, 
                   Adres [] adresy)
rzuca MessagingException

Poniżej znajduje się opis parametrów:

  • Typ: To będzie ustawiony jako do cc, albo BCC.Tutaj, w imieniu CC CC przedstawiciele BCC BCC. Na przykładMessage.RecipientType.TO.
  • Adresy: To jest tablicą e-mail ID.Podczas określania identyfikatora e-mail, należy użyć metody InternetAddress ().

Wyślij e-mail w formacie HTML

Poniższy przykład wyśle ​​formacie HTML e-mail na komputerze. Zakłada tolokalny komputer jest podłączony do Internetu i wsparcie e-mail.Przy jednoczesnym zapewnieniu, że Java API i pakiety email Pakiet JAF wszystkie pliki jar w ścieżce klasy są dostępne.

Przykład ten jest bardzo podobny do poprzednich przykładów, ale tu używamy metody () setContent ustawić drugi parametr jest "text / html" zawartość, parametr ten jest używany do określenia zawartości HTML zawarty w wiadomości.

Używając tej instancji, możesz wysłać zawartość nie jest ograniczony do rozmiaru zawartości HTML.

// Nazwa pliku 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 rozszerza HttpServlet {
    
  public void doGet (HttpServletRequest request,
                    HttpServletResponse odpowiedź)
            rzuca ServletException, IOException
  {
      // Odbiorcy e-mail ID
      String = "[email protected]";
 
      // Nadawcy e-mail ID
      String spośród = "[email protected]";
 
      // Powiedzmy wysyłania poczty elektronicznej hosta String = "localhost" z lokalnego hosta;
 
      // Pobierz System Properties Properties = System.getProperties ();
 
      // Utworzenie properties.setProperty serwera poczty ( "mail.smtp.host", host);
 
      // Pobierz sesji domyślne obiektu Session session = Session.getDefaultInstance (właściwości);
      
	  // Ustaw typ zawartości odpowiedzi response.setContentType ( "text / html; charset = UTF-8");
      PrintWriter out = response.getWriter ();

      try {
         // Utworzenie domyślnego MimeMessage obiektów MimeMessage message = nowy MimeMessage (sesja);
         // Ustaw nagłówku From: pole nagłówka.
         message.setFrom (nowa InternetAddress (od));
         // Ustaw Do: pole nagłówka w nagłówku.
         message.addRecipient (Message.RecipientType.TO,
                                  Nowy InternetAddress (z));
         // Ustaw Temat: pole nagłówka
         message.setSubject ( "To jest wiersz tematu!");

         // Ustaw rzeczywisty rozmiar zawartości ograniczoną message.setContent wiadomość HTML ( "<h1> To jest rzeczywista komunikat </ h1>",
                            "Text / html");
         // Wysłać wiadomość Transport.send (komunikat);
         tytuł String = "email";
         res String = "pomyślnie wysłane wiadomości ...";
         Ciąg DOCTYPE = "\ n <DOCTYPE html!>";
         out.println (DOCTYPE +
         "<Html> \ n" +
         "<Head> <title>" + nazwa + "</ title> </ head> \ n" +
         "<Body bgcolor = \" # f0f0f0 \ "> \ n" +
         "<H1 align = \" center \ ">" + nazwa + "</ h1> \ n" +
         "<P align = \" center \ ">" + res + "</ p> \ n" +
         "</ Body> </ html>");
      } Catch (MessagingException mex) {
         mex.printStackTrace ();
      }
   }
} 

Skompilować i uruchomić powyższą serwletu, wysyłać wiadomości HTML w danym ID e-mail.

Wyślij załączników wiadomości e-mail

Poniższe przykłady wysłać wiadomość e-mail z załącznikiem w komputerze będzie. Zakłada tolokalny komputer jest podłączony do Internetu i wsparcie e-mail.Przy jednoczesnym zapewnieniu, że Java API i pakiety email Pakiet JAF wszystkie pliki jar w ścieżce klasy są dostępne.

// Nazwa pliku 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 rozszerza HttpServlet {
    
  public void doGet (HttpServletRequest request,
                    HttpServletResponse odpowiedź)
            rzuca ServletException, IOException
  {
      // Odbiorcy e-mail ID
      String = "[email protected]";
 
      // Nadawcy e-mail ID
      String spośród = "[email protected]";
 
      // Powiedzmy wysyłania poczty elektronicznej hosta String = "localhost" z lokalnego hosta;
 
      // Pobierz System Properties Properties = System.getProperties ();
 
      // Utworzenie properties.setProperty serwera poczty ( "mail.smtp.host", host);
 
      // Pobierz sesji domyślne obiektu Session session = Session.getDefaultInstance (właściwości);
      
	  // Ustaw typ zawartości odpowiedzi response.setContentType ( "text / html; charset = UTF-8");
      PrintWriter out = response.getWriter ();

       try {
         // Utworzenie domyślnego MimeMessage obiektów MimeMessage message = nowy MimeMessage (sesja);
 
         // Ustaw nagłówku From: pole nagłówka.
         message.setFrom (nowa InternetAddress (od));
 
         // Ustaw Do: pole nagłówka w nagłówku.
         message.addRecipient (Message.RecipientType.TO,
                                  Nowy InternetAddress (z));
 
         // Ustaw Temat: pole nagłówka
         message.setSubject ( "To jest wiersz tematu!");
 
         // Utworzenie część wiadomości Bodypart messageBodyPart = new MimeBodyPart ();
 
         // Wypełnij wiadomości messageBodyPart.setText ( "To jest treść wiadomości");
         
         // Utworzenie wieloczęściowe wiadomość wieloczęściową Multipart = new MimeMultipart ();
 
         // Ustaw części wiadomości tekstowych multipart.addBodyPart (messageBodyPart);
 
         // Druga część jest akcesorium messageBodyPart = new MimeBodyPart ();
         String filename = "plik.txt";
         Źródło DataSource = new FileDataSource (filename);
         messageBodyPart.setDataHandler (nowa DataHandler (źródło));
         messageBodyPart.setFileName (filename);
         multipart.addBodyPart (messageBodyPart);
 
         // Wyślij kompletną część wiadomości message.setContent (wieloczęściowe);
 
         // Wysłać wiadomość Transport.send (komunikat);
         tytuł String = "email";
         res String = "pomyślnie wysłać e-mail ...";
         Ciąg DOCTYPE = "\ n <DOCTYPE html!>";
         out.println (DOCTYPE +
         "<Html> \ n" +
         "<Head> <title>" + nazwa + "</ title> </ head> \ n" +
         "<Body bgcolor = \" # f0f0f0 \ "> \ n" +
         "<H1 align = \" center \ ">" + nazwa + "</ h1> \ n" +
         "<P align = \" center \ ">" + res + "</ p> \ n" +
         "</ Body> </ html>");
      } Catch (MessagingException mex) {
         mex.printStackTrace ();
      }
   }
} 

Skompilować i uruchomić powyższą serwletu, wysyłanie wiadomości z załącznikami plików na danym ID e-mail.

Sekcja Uwierzytelnianie użytkowników

Jeśli potrzebujesz, aby zapewnić uwierzytelnianie poczty elektronicznej identyfikator użytkownika i hasło serwera można ustawić następujące właściwości:

 props.setProperty ( "mail.user", "myuser");
 props.setProperty ( "mail.password", "moje_hasło");

Reszta e-mail mechanizmu realizacji jest zgodny z powyższym wyjaśnić.