Этот пример разделяет конкретный код Java с использованием сокета для реализации протокола SMTP для отправки электронных писем для вашей ссылки. Конкретный контент заключается в следующем
пакет почта; Импорт java.io.bufferedReader; импорт java.io.ioexception; import java.io.inputStream; импорт java.io.inputStreamReader; импорт java.io.OutputStream; импорт java.io.printwriter; импорт java.io.reader; imporm.net.socket; import java.At.Atlist; java.util.list; импорт org.apache.commons.codec.binary.base64; открытый класс почта {public static void main (string [] args) бросает ioException {mail = new mail (); mail.setsmtpserver ("smtp.qq.com"); mail.setFrommail ("1344364 ****@QQ.com"); mail.addtomail ("105648 ****@qq.com"); mail.addtomail ("long *******@sina.com"); mail.setusername ("134364 ****"); mail.setpassword ("************"); mail.setsubject ("тестовая почта"); mail.setContent ("<h1> hello </h1> <br/> <img src =/" https://www.baidu.com/img/baidu_jgylogo3.gif?v=39549282.gif/ "/>"); mail.setshowlog (true); mail.send (); System.out.println ("end Program End"); } / ** Тема электронной почты ** / частная строковая тема; / ** Отправить с этого адреса **/ Private String Frommail; / ** Имя пользователя **/ private String username; / ** Вход пароль **/ Private String Password; / ** Сервер SMTP **/ Private String Smtpserver; / ** Порт сервера SMTP (по умолчанию: 25) **/ private int smpport = 25; / ** Все адреса, отправленные в томайль **/ частный список <string> tomail; / ** Содержимое почты **/ контент частного строки; / ** отобразить журнал **/ Private Boolean Showlog; public void AddTomail (String Mail) {if (tomail == null) tomail = new ArrayList <string> (); tomail.add (mail); } public void send () {if (smtpserver == null) {бросить новое runtimeexception ("smtpserver не может быть пустым"); } if (username == null) {бросить новое runtimeexception ("Имя пользователя не может быть пустым"); } if (password == null) {бросить новое runtimeexception ("пароль не может быть пустым"); } if (frommail == null) {бросить новое runtimeexception ("routmail не может быть пустой"); } if (tomail == null || tomail.isempty ()) {бросить новое runtimeexception ("Томайль не может быть пустым"); } if (content == null || tomail.isempty ()) {бросить новое runtimeexception ("Контент не может быть пустым"); } Сокет сокет = null; InputStream in = null; OutputStream Out = null; try {socket = new Socket (smtpserver, smptport); Socket.setsotimeout (3000); in = socket.getInputStream (); out = socket.getOutputStream (); } catch (ioException e) {бросить новое runtimeexception ("подключиться к" + smtpserver + ":" + smpport + "не удалось", e); } BufferedReaderProxy Reader = new BufferedReaderProxy (New InputStreamReader (in), ShowLog); PrintWriterProxy Writer = New PrintWriterProxy (Out, ShowLog); reader.showresponse (); writer.println ("lelo" + smtpserver); reader.showresponse (); writer.println ("auth login"); reader.showresponse (); writer.println (new String (base64.encodebase64 (username.getbytes ()))); reader.showresponse (); writer.println (новая строка (base64.encodebase64 (password.getbytes ()))); reader.showresponse (); writer.println ("mail from:" + frommail); reader.showresponse (); для (строка Mail: tomail) {writer.println ("rcpt to:" + mail); reader.showresponse (); } writer.println ("data"); writer.println ("Контент-тип: текст/html"); if (субъект! = null) {writer.println ("Субъект:" + субъект); } writer.println ("from:" + frommail); writer.print ("to:"); для (строковая почта: томайль) {writer.print (mail + ";"); } writer.println (); writer.println (); writer.println (content); writer.println ("."); reader.showresponse (); writer.println ("quit"); reader.showresponse (); try {socket.close (); } catch (ioException e) {System.err.println ("Отправить электронное письмо за завершение, закройте ошибку сокета:" + e.getMessage ()); }} public String getSubject () {return toot; } public void setSubject (строка субъекта) {this.subject = subject; } public String getFrommail () {return FromMail; } public void setFrommail (string fromMail) {this.frommail = offmail; } public String getSmtpserver () {return smtpserver; } public void setSmtpserver (String smtpserver) {this.smtpserver = smtpserver; } public int getSmtpport () {return smtpport; } public void setSmtpport (int smtpport) {this.smtpport = smpport; } public String getContent () {return Content; } public void setContent (String Content) {this.content = content; } public List <string> getTomail () {return tomail; } public void cetTomail (list <string> tomail) {this.tomail = tomail; } public String getUsername () {return username; } public void setUsername (string username) {this.username = username; } public String getPassword () {return пароль; } public void setPassword (String password) {this.password = password; } public boolean getShowlog () {return showlog; } public void setShowlog (boolean showlog) {this.showlog = showlog; } static class printWriterProxy Extends PrintWriter {Private Boolean ShowRequest; public printWriterProxy (outputStream Out, Boolean ShowRequest) {super (out, true); this.showrequest = showRequest; } @Override public void println () {if (showRequest) System.out.println (); super.println (); } public void print (String S) {if (showRequest) System.out.print (s); Super.print (ы); }} статический класс BufferedReaderProxy Extends BufferedReader {Private Boolean ShowResponse = true; public BufferedReaderProxy (Reader In, Boolean ShowResponse) {Super (in); this.showresponse = showresponse; } public void showresponse () {try {string line = readline (); String number = line.substring (0, 3); int num = -1; try {num = integer.parseint (number); } catch (Exception e) {} if (num == -1) {бросить новое runtimeexception ("Ошибка информации о ответе:" + line); } else if (num> = 400) {бросить новое runtimeexception ("Отправить электронное письмо не удалось:" + line); } if (showresponse) {System.out.println (line); }} catch (ioException e) {System.out.println ("не удалось получить ответ"); }}}}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.