Отправить простое письмо на основе SMTP
Во -первых, необходим аутентификатор:
Пакет №001_SMTP на основе текстовой почты; Импорт javax.mail.authenticator; import javax.mail.passwordAuthentication; открытый класс SimpleAuthenticator Extends Authenticator {private String username; private String password; public simpleAuthenticator (String usernam PasswordAuthentication (имя пользователя, пароль);}} Затем напишите простую программу отправки электронной почты:
Пакет №001_ SMTP на основе текстовой почты на основе SMTP; Import java.util.properties; импорт javax.mail.message; импорт javax.mail.message; импорт javax.mail.messagingexception; импорт javax.mail.session; импорт javax.mail.transport; import javax.mail.internet.address; import javax.mail.manternet.intertertdress. javax.mail.internet.mimemessage; public class smtpsimplemail {public static void main (string [] args) throws addresexception, messagingexception {/* требуемая информация*/string smtp_mail_host = "smtp.163.com"; // Этот адрес электронной почты сервера, перейдите по электронной почте, чтобы запросить string email_username = "[email protected]"; string emike_password = "mypassword"; string to_email_address = "[email protected]";/* Сервер*/Properties rops = new Properties (); Smtp_mail_host); props.put ("mail.smtp.auth", "true");/* Создать сеанс*/session = session.getdefaultinstance (реквизит, новый SimpleAuthenticator (email_username, email_password);/* Сообщение по электронной почте*/mimemessage = new mimemessage (session); InternetAddress (email_username)); message.addrecipient (message.recipienttype.to, New InternetAddress (to_email_address)); Message.setsubject («Как использовать Java Mail для отправки электронной почты. Transport.send (message); System.out.println («Это не особенно не повезло, вы можете проверить электронное письмо.»);}} Что мне делать, если я отправлю различных получателей, CCS, секретные CCS
Аутентикатор используется, опущено.
На самом деле, это настройка, добавление нескольких получателей, отправителей CC и секретных отправителей CC:
Пакет №002_ Что я должен сделать, если различные отправители и получатели отправляют CC в CC; Импорт java.io.unsupportedencodingexception; import java.util.properties; импорт javax.mail.address; импорт javax.mail.message; импорт javax.mail.message; import javax.mail.session; импорт javax.mail.transport; import.mail. javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;public class SendMailWithMultiPeople {public static void main(String[] args) throws AddressException, MessagingException, UnsupportedEncodingException {/* Required information*/String SMTP_MAIL_HOST = "smtp.163.com"; // Этот адрес почтового сервера, перейдите по электронной почте, к которому он принадлежит поиску строки email_username = "[email protected]"; строка email_password = "mypassword"; string to_email_address_1 = "[email protected]"; string cc_email_dress_1 = "[email protected]"; String bcc_email_address_1 = "/"/"[email protected]"; Информация*/Properties props = new Properties (); props.put ("mail.smtp.host", smtp_mail_host); props.put ("mail.smtp.auth", "true");/*create session*/session session = session.getdefaultinstanc SenderArray = новый адрес [1]; SenderArray [0] = new InternetAddress ("[email protected]", "Ник Хуанг");/* Сообщение по электронной почте*/mimemessage message = new Mimemessage (session); message.addfrom (senderarray); message.addrecipient (message.recipepepe.to, nementdressress); message.addrecipient (message.recipienttype.to, new InternetAddress (cc_email_address_1)); message.addrecipient (message.recipienttype.cc, new InternetAddress (cc_email_address_1)); message.addrecipient (message.recipienttype.cc, new InternetAddress (to_email_address_1)); message.addrecipient (message.recipienttype.bcc, new InternetAddress (bcc_email_address_1)); message.setsubject («Я - почта, обучение Java Mail»); message.settext («Я - почта Java Learning Java Mail, пожалуйста, дайте мне хорошее начало».); // отправить transport.send (message); System.out.println («Не особенно не повезло, вы можете проверить электронное письмо.»);}} Что делать, если вы отправляете вложения
Аутентикатор используется, опущено.
Отправить вложение демонстрации:
Пакет №003_ Что делать, если вы отправите вложения; Импорт java.io.file; импортировать java.io.unsupportedencodingexception; импорт java.util.properties; импорт javax.activation.datahandler; импорт javax.activation.datasource; импорт javax.activation.filedatasource; импорт javax.mail.madress; javax.mail.message; импорт javax.mail.messagingexception; импорт javax.mail.multipart; импорт javax.mail.session; импорт javax.mail.transport; импорт javax.mail.internet.addressexception; импорт javax.mail.Internet.InternetDetdress. javax.mail.internet.mimemessage; импорт javax.mail.internet.miMultipart; открытый класс sendmailwithattachment {public static void main (string [] args) throws addresexception, messagingexception, unsupportedencodingexception {/* требуется информация*/string smtp_mail_host = "smtpexceptexpection {/* требуется информация*/string smtp_mail_host =" smtpexceptexexceptexexpect // Этот адрес почтового сервера, перейдите по электронной почте в Query string email_username = "[email protected]"; string email_password = "пароль"; string to_email_address_1 = "[email protected]";/* Сервер*/Properties opps = new Properties (); Props.put (mail.smtp.host ", Smtp_mail_host); props.put ("mail.smtp.auth", "true");/* Создать сеанс*/session session = session.getdefaultinstance (реквизит, новый Simpleauthenticator (email_usernam Сообщение по электронной почте*/mememessage message = new Mimemessage (session); message.addfrom (senderarray); message.addrecipient (message.recipienttype.to, new InternetAddress (to_email_address_1)); message.setsubject («Я есть электронная почта java mail»); Mimebodypart (); bodypart.settext («Это содержание почтовой почты Java, пожалуйста, дайте ему много денег».);/* Приложение*/bodypart attedpart1 = new mimebodypart (); dataSource Source = new FileDataSource (new File (d:/file 1.); DataHandler (Source)); AttachmentPart1.setFilEname ("=? GBK? B?" + New Sun.Misc.Base64encoder (). Encode ("файл 1.txt" .getBytes ()) + "? 2.txt ")); AttachmentPart2.setDataHandler (новый DataHandler (Source)); AttachmentPart2.setFilename (" =? GBK? B? " + New Sun.misc.Base64encoder (). Encode (" файл 2.txt ".getBytes ()) +" = "); MiMemultIpart (); Multipart.AddBodyPart (BodyPart); Multipart.AddyBodyPart (AttachmentPart1); Multipart.AddBodyPart (AttachmentPart2); Message.SetContent (Multipart); // Отправить Transport.send (сообщение); System.out.println («Не особенно снегание, вы можете проверить электронное письмо». Также отправьте HTML Mail
Аутентикатор используется, опущено.
На самом деле, он должен сказать клиенту -получателю проанализировать и рендеринг с помощью HTML:
пакет №004_send html mail; Импорт java.io.unsupportedencodingexception; import java.util.properties; импорт javax.mail.address; import javax.mail.message; импорт javax.mail.messagingexception; импорт javax.mail.multipart; импорт javax.mail.session; import javax.mail. javax.mail.internet.addressexception; import javax.mail.internet.internetDress; импорт javax.mail.internet.mimebodypart; импорт javax.mail.internet.mimemessage; import javax.mail.internet.miMemultipart Throws AddressException, MessagingException, UnsupportEncodingException {/* Требуемая информация*/string smtp_mail_host = "smtp.163.com"; // Этот адрес почтового сервера, перейдите по электронному письму, к которому вы принадлежите к поиску string email_username = "[email protected]"; string email_password = "password"; string to_email_address_1 = "[email protected]";/* Сервер*/Properties rops = new Properties (); props.put (mail.smtp.host ", Smtp_mail_host); props.put ("mail.smtp.auth", "true");/* Создать сеанс*/session session = session.getdefaultinstance (реквизит, новый Simpleauthenticator (email_usernam Сообщение по электронной почте*/mimemessage message = new mimemessage (session); message.addfrom (senderarray); message.addrecipient (message.recipienttype.to, new InternetAddress (to_email_address_1)); message.setsubject («Как отправить html -сообщения»);/*Text*/mimebodypart = newpart = new. MimeBodyPart (); BodyPart.SetContent ("<h1> любить тебя ... </h2>", "Text/html; charset = gb2312");/* инкапсулирует информацию о различных частях электронной почты*/multipart multipart = new miMemultipart (); Transport.send (сообщение); System.out.println («Это не особенно не повезло, вы можете проверить электронное письмо. ");}} Или подойдите с классом инструментов?
Аутентитор определен, используется и опущено.
Поскольку есть много и сложных свойств, которые необходимо установить, назовите его простым и простым в использовании атрибут для собственного, поэтому используйте класс конфигурации
пакет №005_get класс инструментов; Импорт java.io.file; import java.util.arraylist; import java.util.list; public class mailsenderconfig {private String smtpmailhost; // Адрес почтового сервера, который поддерживает SMTP Protocol/* Используется для входа в систему почтового сервера*/private String username; Private String Password; Private String Subject; // название частного строкового контента; // Контент Private String FromMail; // Показать электронные письма, отправленные из этого отдельного списка почтового ящика <string> tomails; // частный список получателя <string> ccmails; // CC Private List <string> bccmails; // Секретный CC Private List <file> вложения; // Приложение Public MailSenderConfig (String smtpmailhost, строка субъекта, строковое содержимое, строка Offmail) {super (); smtpmailhost = smtpmailhost; this.subject = субъект; this.content = content; this.frommail = frommail;} public String getSmtpmailHost () {return smtpmailHost;} public void setSmtpmailHost (String smtpmailHost) {smtpmailHost = smtpmailhost;} public String getUsername () {return usernam username;} public String getPassword () {return пароль;} public void setPassword (String password) {this.password = password;} public String getFrommail () {return formail;} public void setFrommail (string formail) {this.frommail = frommail;} public list <string> getTomails () {return tomails = ails settiplets at strileds; Tomails) {this.tomails = tomails;} public list <string> getCcmails () {return ccmails;} public void setccmails (список <string> ccmails) {this.ccmails = ccmails;} public list <string> getBccmails () {return bcmails;} public vides; setBccmails (list <string> bccmails) {this.bccmails = bccmails;} public list <file> getAttachments () {return Attactments;} public void setAttachments (list <file> atchatments) {this.attachments = Attactments;} public stringUbject (). = субъект;} public String getContent () {return Content;} public void setContent (String Content) {this.content = content;} public void AddTomail (String Mail) {if (this.Tomails == null) {this.Tomail = new ArrayList <String> (); {if (this.ccmails == null) {this.ccmails = new ArrayList <string> ();} this.ccmails.add (mail);} public void addbccmail (string mail) {if (this.bccmails == null) {this.bccmails = new. ArrayList <string> ();} this.bccmails.add (mail);} public void addatatchment (файл f) {if (this.attachments == null) {this.attachments = new ArrayList <file> ();} this.attachments.add (f);}} Наконец, существует часть класса инструментов, которая в основном отвечает за несколько вещей: выполнение некоторых действий по инициализации в соответствии с правилами Java Mail, перевод пользовательских классов конфигурации атрибутов, установление их правил Java Mail и отправка электронных писем.
Кроме того, следует упомянуть, что, поскольку свойства, предоставляемые классом инструментов, ограничены, больше случаев может не удовлетворить потребности, поэтому Mimemessage обнажается. Если потребности не удовлетворяются, разработчики могут обрабатывать и настраивать их сами, в то время как другие детали все еще могут использовать класс инструментов.
пакет №005_get класс инструментов; Импорт java.io.file; импорт java.util.properties; импорт javax.activation.datahandler; импорт javax.activation.datasource; импорт javax.activation.fileDataSource; импорт javax.mail.Adress; import javax.mail.mailpexcement; impormessception. javax.mail.multipart; импорт javax.mail.session; импорт javax.mail.transport; импорт javax.mail.internet.internetDdress; импорт javax.mail.Internet.mimeBodyPart; importeMem.mail.Internet.Mimemessage; import.mail.mailTip.mail.Internet.Mimemessage; import.mail.Memint.mail. Если различные отправители и получатели отправляют cc.simpleauthenticator; открытый класс Mailsender {private mailsenderconfig c; частное сообщение Mimemessage; public mailsender (mailsenderconfig config) выбрасывает исключение {super (); this.c = config; this.setConfig ();}/*** initialization* @return*/private in instessedies () {). (c.getsmtpmailhost ()! = null && c.getsmtpmailhost (). length ()> 0) {props.put ("mail.smtp.host", c.getsmtpmailhost ());} if (c.getusername ()! = null && c.getusername (). c.getPassword (). Length ()> 0) {props.put ("mail.smtp.auth", "true"); return session.getDefaultinstance (overte, new SimpleAuthenticator (c.getUsername (), c.getpassword ());} else {props.put ("mail.smtp.auth", "false"); Session.getDefaultInstance (props);}}/*** Установить свойства почты Java*@Throws Exception*/private void setConfig () Throws Exception {this.configvalid (); session s = this.initsession (); message = new mimemessage (s);/*sender*/addry [] newarray = new Addray [1]; InternetAddress (c.getFrommail ());; message.addfrom (fromMailArray); if (c.getTomails ()! = Null && c.getTomails (). Size ()> 0) {для (строка mail: c.gettomails ()) {message.addrecipient (message.recipepe.to, new neptementdress (mestive); (c.getCcmails ()! = null && c.getCcmails (). size ()> 0) {for (String mail: c.getccmails ()) {message.addrecipient (message.recipienttype.cc, new InternetAddress (mail));}} if (c.gettomails ()! {for (String mail: c.getTomails ()) {message.addrecipient (message.recipienttype.bcc, new InternetAddress (mail));}} // Название почты. Setsubject (c.getSubject ());/* text*/mimebody bodypart = new mime -mimepart (), cobvementcontent (c. ditstentcontent (c. ditstentcontent (c. ditstentcontent (c. ditstentcontent (c. det "Text/html; charset = gb2312");/* инкапсулирует информацию каждой части электронной почты*/multipart multipart = new mimemultipart (); multipart.adddybodypart (bodypart); Message.setContent (multipart); Bodypart AttachmentPart = null; DataSource ds = null; if (c.gretachments () = null; null; null; null; null & null & null & null & null & null & null & null & null & null; c.getattachments (). size ()> 0) {for (file f: c.getattachments ()) {atchetmentpart = new MimeBodyPart (); ds = new FileDataSource (f); AttachmentPart.SetDataHandler (new DataHandler (ds)); AttachmentPart.setFilenAme ("=? sun.misc.base64encoder (). Encode (f.getName (). getBytes ()) + "? ="); Multipart.AddBodyPart (AttachmentPart);}} Message.SetContent (multipart);}/*** проверка конфигурации*@Throws exclict пусто ");} if (c.getsmtpmailhost () == null || c.getsmtpmailhost (). length () == 0) {бросить новое исключение («SMTP -сервер пуст»);} if (c.getFrommail () == null && c.getFrommail (). Length () == 0) {Throw New Exception («Отправляющая почта пуста»);} if (c.getTomails () = null | null | getTom. {Выбросить новое исключение («почта получателя пуста»);} if (c.getSubject () == null || c.getSubject (). Length () == 0) {Throp New Exception («Название электронной почты пусто»);} if (c.getContent () == null || c.getContent (). @Throws MessagingException*/public void Send () Throws MessagingException {transport.send (сообщение);}/*** Установить Mimemessage, чтобы разоблачить этот объект, чтобы разработчики могли установить персонализированные свойства сами по себе* @return*/public mimemessage getMessag void setMessage (сообщение MimeMessage) {this.message = message;}} Предоставьте простой пакет тестового класса №005_to класс инструментов; Импорт java.io.file; import javax.mail.internet.mimemessage; открытый класс testcall {public static void main (string [] args) выбрасывает исключение {/* требуемая информация*/string smtp_mail_host = "smtp.163.com"; // Этот адрес почтового сервера, перейдите по электронному письму, к которому вы принадлежите, и проверяйте string emike_username = "[email protected]"; строка email_password = "password"; string to_email_address_1 = "[email protected]"; string to_email_address_2 = "[email protected]"; MailSenderConfig (SMTP_MAIL_HOST, «Это тестовая почта для тестирования Java Mail Framework 3.», «Это контент 3.», Email_username); c.setusername (email_username); c.setpassword (email_password); c.addtomail (to_email_address_1); c.addtomail (to_email_address_2); c.addccmail (to_email_address_2); c.addccmail (to_email_address_2); File ("d: /1.txt")); Mailsender ms = new Mailsender (c); Ms.send (); System.out.println ("Send ...");*//*Использование 2. Тестовая почта для тестирования Java Mail Framework 4. »,« Это содержание 4. », Email_username); c.setusername (email_username); c.setpassword (email_password); c.addtomail (to_email_address_1); c.addtomail (to_email_address_2); c.addccmail (to_email_address_2); c.addccmail (to_email_address_2); File ("d: /1.txt")); Mailsender ms = new Mailsender (c); mimemessage message = ms.getmessage (); "text/html; charset = utf-8"); ms.setmessage (message); ms.send (); System.out.println ("Send ...");}} Обновить класс инструментов
В реальном использовании я обнаружил, что при отправке электронных писем в партиях поддержка класса инструментов не очень хорошая. Например, отправка 100 электронных писем, в соответствии с логикой приведенного выше класса инструментов, для каждого отправленного электронного письма устанавливается соединение. Итак, разве 100 электронных писем 100 раз? Это серьезная трата.
Итак, некоторые обновления сделаны на этот момент:
Аутентитор определен, используется и опущено.
Класс конфигурации
Import java.util.arraylist; import java.util.list; открытый класс mailsenderconfig {private String smtpmailhost; // Адрес почтового сервера, который поддерживает SMTP Protocol/* Используется для входа в систему почтового сервера*/private String username; Private String Password; Private String Subject; // название частного строкового контента; // Контент Private String FromMail; // Показать электронные письма, отправленные из этого отдельного списка почтового ящика <string> tomails; // частный список получателя <string> ccmails; // CCP Private List <string> bccmails; // Секретный CCP Private List <Attachment> вложения; // Приложение Private String contentType = "text/html; charset = utf-8";/*** constructor* @param smtpmailhost smtp server* @param Субъект, строка содержимого, строка Frommail) {super (); smtpmailhost = smtpmailhost; this.subject = субъект; this.content = content; this.frommail = frommail;}/*** constructor* @param smtpmailhost smtp server* @param username mail server username @param пароль почтового сервера* @param toot toot* @param content content (отправлено в форме адреса «Text/html; charset = utf-8». smtpmailhost, String username, String Password, STRING SUBTION, String Content, String OffMail) {super (); smtpmailhost = smtpmailhost; this.username = имя пользователя; this.password = пароль; this.subject = субъект; this.content = content; this.frommail = frommail;} public void addTomail (String Mail) {if (this.Tomails == null) {this.tomails = new ArrayList <string> ();} this.tomails.add (mail);} public void addccmail (string mail) {if (this.ccmails == null) {this. this.ccmails == null) {this.ccmails == null) {if. this.ccmails == null) Arraylist <string> ();} this.ccmails.add (mail);} public void addbccmail (String mail) {if (this.bccmails == null) {this.bccmails = new ArrayList <string>;} this.bccmails.add (mail); null) {this.attachments = new ArrayList <atchedment> ();} this.attachments.add (a);}/** getter и setter*/public string getSmtpmailHost () {return smtpmailHost;} public void setSmtpmailHost (string smtpmailhost;} void setsmtpmailhost (string smtpmail) getUsername () {return username;} public void setusername (string username) {this.username = username;} public String getPassword () {return пароль;} public void setPassword (String password) {this.password = password;} public string getFrommail () {return frommail;} public void setFromail (stringMail) {return vismail (stringmail) {return frommail; frommail;} public List <string> getTomails () {return tomails;} public void centtOmails (list <string> tomails) {this.tomails = tomails;} public list <string> getCcmails () {return ccmails;} public void setccmails (list <string> ccmails) {{} void setccmails (list> ccmails) {wearccmails this = ccMails;}public List<String> getBccMails() {return bccMails;}public void setBccMails(List<String> bccMails) {this.bccMails = bccMails;}public List<Attachment> getAttachments() {return attachments;}public void setAttachments(List<Attachment> attachments) {this.Attachments = ATTHAMENTS;} public String getSubject () {return toot;} public void setSubject (строка субъекта) {this.subject = subj setContentType (String contentType) {this.contentType = contentType;}} класс объекта вложения импорт java.io.file;/*** Класс объектов электронной почты*/открытый класс {private file file; private string filename; getFilEname () {if (filename == null || fileName.trim (). Length () == 0) {return file.getName ();} return имени файла;} public void setFilEname (String fileName) {this.filename = filename;} public atchetment (файл файл, string fileName) {super (); this.file = file {super (); this.file = file;}} абстрактная отправка класса импорт java.util.properties; import javax.mail.session; public абстрактный класс AbstractSessionMailSender {Защищенный сеанс;/*** Инициализировать сеанс* @return*/public initsession initsession (mailsenderconfig c) {Properties props = vesperties (); I.); (c.getsmtpmailhost ()! = null && c.getsmtpmailhost (). length ()> 0) {props.put ("mail.smtp.host", c.getsmtpmailhost ());} if (c.getusername ()! = null && c.getusername (). c.getPassword (). Length ()> 0) {props.put ("mail.smtp.auth", "true"); return session.getDefaultinstance (overte, new SimpleAuthenticator (c.getUsername (), c.getpassword ());} else {props.put ("mail.smtp.auth", "false"); Session.getDefaultInstance (ops);}}/*** разоблачить getter и setter, чтобы предоставить установку сеанса для поддержки пакетной отправки электронных писем/Отправить несколько электронных писем, сеанс может быть кэширован. @return*/public session getsession () {return session;} public void setSession (сеанс сеанса) {this.session = session;}} Отправить класс
Импорт javax.activation.datahandler; импорт javax.activation.datasource; импорт javax.activation.filedatasource; импорт javax.mail.address; импорт javax.mail.mailpart; импорт javax.mail.message; импорт javax.messagingexception; импорт javax.multip. javax.mail.session; import javax.mail.transport; импорт javax.mail.internet.internetDress; импорт javax.mail.internet.mimebodypart; импорт javax.mail.internet.mimemessage; импорт javax.mail.internet.mememultipart. Extends AbstractSessionMailsender {Private MailSenderConfig C; Private Mimemessage Message; Public MailSender (конфигурация MailSenderConfig), выбросит исключение {super (); this.c = config; this.setConfig ();} public mailsender (конфигурация MailSenderConfig, сеанс сеанса), выбрасывает exection {super (); this.c = config; this.setConfig (); super.setsession (session);}/*** Отправить электронную почту*@Throws MessagingException*/public void send () Throws MessagingException {transport.send (сообщение);}/*** Получить Mimemessage и разоблачить этот объект, чтобы облегчить разработчик для установления персонализированных свойств (методы, которые не поддерживаются этими инструментами. getMessage () {return message;}/*** Установите MimeMessage, чтобы обнаружить этот объект, чтобы облегчить разработчикам установить персонализированные свойства (методы, которые не поддерживаются этим классом инструмента, можно установить самими разработчиками и после настройки)* @return*/public void setmessage (miMemessage message) {this.message =}/*** set attripsage attriblesge attribtesge attribtesge) setConfig () throws exception {this.configvalid (); if (session == null) {session = initsession (c);} message = new mimemessage (session);/* sender*/address [] frommailarray = новый адрес [1]; frommailarray [0] = new internetdress (c.getdresmommail (); (C.GetTomails ()! = NULL && C.GetTomails (). Size ()> 0) {для (строка почта: c.getTomails ()) {message.addrecipient (message.recipienttype.to, new InternetAddress (mail));}} if (c.getccmails ()! (Строка почта: c.getCcmails ()) {message.addrecipient (message.recipienttype.cc, new InternetAddress (mail));}} if (c.getTomails ()! = Null && c.getTomails (). Size ()> 0) {для (строковая почта: c.gettomails ()) {message.addrecipient (message.recipienttype.bcc, new InternetAddress (mail));}} // Название электронной почты. Часть электронной почты*/Multipart Multipart = new MiMemultIpart (); Multipart.AddyBodyPart (bodypart); Message.SetContent (Multipart);/*Приложение*/Bodypart AttachmentPart = null; DataSource ds = null; if (c.getattachments ()! = null &&geattachments (). {AttachmentPart = new MimeBodyPart (); ds = new FileDataSource (a.getFile ()); AttachmentPart.SetDataHandler (новый DataHandler (ds));; atchatmentpart.setFilename (mimeUtility.encodetext (a.getFilename ()); multial.addbodypart (AttachmentPart);}} message.setContent (multipart);}/*** Verification*@Throws Exception*/private void configValid () throws executif Exception ("объект конфигурации пуст");} if (c.getsmtpmailhost () == null || c.getsmtpmailhost (). length () == 0) {бросить новое исключение («SMTP -сервер пуст»);} if (c.getFrommail () == null && c.getFrommail (). Length () == 0) {Throw New Exception («Отправляющая почта пуста»);} if (c.getTomails () = null | null | getTom. {Выбросить новое исключение ("почта получателя пуста");} if (c.getSubject () == null || c.getSubject (). Length () == 0) {Throp New Exception («Название электронной почты пусто»);} if (c.getContent () == null || c.getContent (). Length () = = 0) {Throw New Exclive ("Excontement)"). Импорт java.io.file; import javax.mail.session; import javax.mail.internet.mimeSessage; import org.junit.test; public class readme {/* Требуемая информация*/string smtp_mail_host = "smtp.163.com"; // Этот адрес почтового сервера, перейдите на страницу Описания почтового сервера, к которому вы принадлежите, и проверяйте строку email_username = "[email protected]"; string emike_password = "пароль"; string to_email_address_1 = "[email protected]";/* Необязательная информация*/string to_email_address_2 = "[email protected]"; Ситуация с использованием 1, обычное использование*/mailsenderconfig c = new Mailsenderconfig (SMTP_MAIL_HOST, "Это почта для тестирования Java Mail Framework в случае1.", «Это контент»., Email_username); c.setusername (email_username); c.setpassword (email_password); c.addtomail (to_email_address_1); c.addtomail (to_email_address_2); c.addccmail (to_email_address_2); c.addccmail (to_email_address_2); Приложение (новый файл ("d: /1.txt"))); mailsender ms = new Mailsender (c); Ms.send (); System.out.println ("Send ...");}@testpublic void case2 () вызывает исключение {/*. Свойства*/mailsenderconfig c = new mailsenderconfig (smtp_mail_host, «Это почта для тестирования Java Mail Framework в case2.», «Это контент». Email_username); c.setusername (email_username); c.setpassword (email_password); c.addtomail (to_email_address_1); c.addtomail (to_email_address_2); c.addccmail (to_email_address_2); c.addccmail (to_email_address_2); Приложение (новый файл ("d: /1.txt"))); mailsender ms = new mailsender (c); mimemessage message = ms.getmessage (); message.setContent («Это замененный контент MiMemessage в случае2." "Text/html; charset = utf-8"); г-жа Setmessage (сообщение); Ms.send (); System.out.println ("отправлено ...");}@testpublic void case3 (). Вызывает исключение {/* Ситуация с использованием 3, и то же самое сессии, и сессии, и тем же сессии, и сессии, и сессии, и то же самое, можно было поделиться сеансом, и сессии, и сессии, и то же самое, можно было поделиться сессией, так же, как и сессия, и сессии. Обратите внимание на своевременность кэшированной сессии*/mailsenderconfig c = new Mailsenderconfig (smtp_mail_host, «Это первая почта для тестирования Java Mail Framework, чтобы поделиться сеансом в случае 3.», «Это контент». Email_username); c.setusername (email_username); c.setpassword (email_password); c.addtomail (to_email_address_1); c.addtomail (to_email_address_2); c.addccmail (to_email_address_2); c.addccmail (to_email_address_2); Приложение (новый файл ("d: /1.txt"))); session session = mailsender.initsession (c); Mailsender ms = new Mailsender (C, Session); Ms.send (); C.setsubject («Это вторая почта для тестовой Java Mail Framework, чтобы поделиться сеансом в case3. Session); Ms.send (); System.out.println ("Send ...");}} Суммировать
В настоящее время у меня так много потребностей. Если я столкнусь с другими распространенными потребностями в будущем и уделю время, я добавлю их дальше.
Выше приведено краткое изложение общих потребностей отправки электронных писем в Java, представленных вам. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!