Предисловие
Обратите внимание: тестовый адрес электронной почты, используемый следующим кодом, составляет 126 почтовый ящик, который доступен в реальном тестировании. Обратите внимание, что во время личного тестирования обратите внимание на отправленный контент электронной почты. Электронный сервер проверяет содержимое электронной почты, и сервер электронной почты является относительно строгим. Если вы не будете осторожны, вас будут судить как спам, а затем вы будете возвращены с кодом ошибки:
Пример кода
Import java.util.date; импорт java.util.properties; импорт javax.mail.authenticator; импорт javax.mail.message; импорт javax.mail.passwordAuthentication; импорт javax.mail.session; импорт javax.mail.transport; import javax.mail.internet.internettress; javax.mail.internet.mimebodypart; import javax.mail.internet.miMemessage; импорт javax.mail.internet.miMultipart; импорт javax.mail.internet.mimeutility; public class sendmailutil {частная статическая финальная строка onmame = "Имя пользователя"; // Имя пользователя отправителя Private Static Final String Password = "password"; // пароль отправителя частная статическая конечная строка hostname = "smtp.126.com"; // Серверный адрес SMTP Private Static Final String FromAddress = username + "@126.com"; // Электронная почта отправителя Private Static Final String fromusername = "Китайский блог CNCD-кода"; // Имя отправителя может быть написано в виде частной статической финальной строки Emailtitle = "Китайский блог CNCD-кода"; // Название электронной почты Private Static Final String emailContent = "Добро пожаловать, чтобы использовать китайский блог CNCD-кода, чтобы активировать электронную почту, пожалуйста, нажмите на ссылку на право на завершение активации учетной записи:/n"; // Содержание электронной почты public static void main (string [] args) {try {sendemail ("[email protected]", "Пользовательский имя: guopengfe, fourengipi, guopipi, guopipi. } catch (Exception e) {// todo автоматически сгенерированный блок e.printstacktrace (); }} / *** Отправить электронную почту* @param sendaddress Адрес электронной почты для отправки* @param content. Содержимое отправлено* @throhs Exception* / public static void sendemail (String senddress, String Content) Throws Exception {// Создание свойства подключения. Свойства реквизит = новые свойства (); // props.put ("mail.smtp.host", hostname); // Установить адрес сервера SMTP IS SMTP.126.com props.put ("mail.smtp.auth", "true"); // Установить SMTP -сервер для аутентификации. props.put ("mail.transport.protocol", "stmp"); Session Session = session.getInstance (reps, new Authenticator () {Защищенный пароль, getPasswordAuthentication () {return New PasswordAuthentication (имя пользователя, пароль);}}); Сообщение сообщения = new Mimemessage (Session); InternetAddress от = new InternetAddress (FromAddress); // адрес отправителя от.setpersonal (mimeutility.encodetext (fromusername)); // Имя отправителя Message.setFrom (от); // InternetAddress to = new InternetAddress ("[email protected]"); // // Адрес получателя // Создание электронной почты: message.setRecipents (message.recipienttype.to, internetAddress.parse (sendAddress)); // cc к адресу электронной почты нескольких людей // message.setRecipient (message.recipienttype.to, to); // только CC в вашем электронной почте. // remail telection message.setsentdate (new Date ()); MiMemultipart msgmultipart = new miMemultipart ("смешанный"); // указать как смешанное сообщение об отношениях.setContent (msgmultipart); // Содержимое электронной почты mimebodypart htmlpart = new MimeBodyPart (); htmlpart.setContent ("<body> <div style = 'width: 1000px; высота: 300px; маржа: 0px auto; margin-bottom: 20px; граница: 1px solid #92b0dd; фоновый цвет: #ffffff;'> <h3> Это электронное письмо, которое автоматически по электронной почте. Содержание+"</div> </body>", "text/html; charset = utf-8"); // todo Порядок сборки очень важен. Сначала вы должны собрать текстовое поле, затем собрать файл msgmultipart.addbodypart (htmlpart); // Собирайте вложение // mimebodypart file = new MimeBodyPart (); // fileDataSource file_datasource = new FileDataSource (// "d: //report_data2.txt"); // dataHandler dh = new DataHandler (file_datasource); // file.setDataHandler (DH); // // Одна функция вложений, которые различают встроенное содержание, заключается в том, что он имеет имена файлов, которые должны быть кодированы для предотвращения китайского искаженного кода // file.setFilename (mimeUtility.encodetext (dh.getName ())); // msgmultipart.addbodypart (file); message.savechanges (); // Процесс отправки электронной почты: 95188 Transport Transport = Session.getTransport ("SMTP"); // Создать Connection Transport.connect (hostname, 25, имя пользователя, пароль); // подключиться к серверу // имени службы, порт, отправить имя пользователя Mail // (не @ Back), пароль transport.sendmessage (message, message.getallRecipents ()); // Отправить сообщения Transport.close (); // close System.out.println ("Отправить заполнен"); }}Обратите внимание, что для друзей, которые впервые используют этот код, рекомендуется не менять остальные, кроме имени пользователя и пароля, в противном случае легко судить как спам по электронной почте Netease и не отправлено. Как правило, когда он оценивается как спам, код ошибки, возвращаемый NetEase, выглядит следующим образом:
com.sun.mail.smtp.smtpsendfailedException: 554 DT: SPM 126 SMTP2, Dmmowacxotzmk8vxvdnea-. 1778s2 1472566222, пожалуйста http://mail.163.com/help/help_spam_16.htm?ip=117.114.147.13&hostid=smtp2&time=1472566222 на com.sun.mail.smtp.smtptransport.issuesdomendcommand (sm.sun.jail.smtp.smtptransport.issuesdomand (sm.sun.mail.smtp. com.sun.mail.smtp.smtptransport.finishdata (smtptransport.java:1634) по адресу com.sun.mail.smtp.smtptransport.sendmessage (smtptransport.java:889) atmailutil.sendemail (sendmail.java Sendmailutil.main (sendmailutil.java:29)
Это означает, что вы можете перейти к ссылке в коде возврата ошибки, чтобы просмотреть информацию о справке. Вы можете ввести ссылку и обнаружить, что приведенный выше код ошибки 554 представляет собой значение. Эта ситуация обычно считается спамом.
Во -вторых, не запускайте (отправляйте) электронные письма в приведенном выше коде часто во время тестирования. Если они слишком часты, их легко будут оцениваться как спам. ОК, вышеупомянутое - все содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения и работы.