Najlepszy samouczek email Servlet Wyślij e-mail W 2024 r. W tym samouczku możesz dowiedzieć się Wyślij prostą wiadomość,Wyślij e-mail w formacie HTML,Wyślij załączników wiadomości e-mail,Sekcja Uwierzytelnianie użytkowników,
Wyślij e-mail przy użyciu aplet jest bardzo prosta, ale najpierw trzeba zainstalowaćJavaMail API i Java Framework aktywacja)na komputerzeJAF).
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.
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 = "abcd@gmail.com"; // Nadawcy e-mail ID String spośród = "web@gmail.com"; // 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 pl."; 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:
plpl <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> plpl
Teraz odwiedzając adres URL http: // localhost: 8080 / SendEmail nazwać tego apletu. Spowoduje to wysłanie e-maila na podany e-mail abcd@gmail.com~~HEAD=pobjID,a pojawi się, jak pokazano w poniższej reakcji:
Wyślij e-mailWysłano wiadomość pl. |
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:
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 = "abcd@gmail.com"; // Nadawcy e-mail ID String spośród = "web@gmail.com"; // 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 pl."; 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.
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 = "abcd@gmail.com"; // Nadawcy e-mail ID String spośród = "web@gmail.com"; // 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 pl."; 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.
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ć.