يشارك هذا المثال رمز Java المحدد باستخدام Socket لتنفيذ بروتوكول SMTP لإرسال رسائل البريد الإلكتروني للرجوع إليه. المحتوى المحدد كما يلي
حزمة البريد استيراد java.io.bufferedreader ؛ استيراد java.io.ioException ؛ استيراد java.io.inputstream ؛ استيراد java.io.inputstreamread ؛ استيراد java.io.outputstream ؛ import java.io.printwriter java.util.list ؛ import java.util.list ؛ import org.apache.commons.codec.binary.base64 ؛ البريد العام {public static void main (string [] args) يلقي ioException {mail 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") ؛ } / ** موضوع البريد الإلكتروني ** / موضوع السلسلة الخاصة ؛ / ** أرسل من هذا العنوان **/ سلسلة خاصة من FromMail ؛ / ** اسم المستخدم **/ اسم المستخدم الخاص بالسلسلة الخاصة ؛ / ** كلمة مرور تسجيل الدخول **/ كلمة مرور السلسلة الخاصة ؛ / ** عنوان خادم SMTP **/ سلسلة خاصة smtpserver ؛ / ** منفذ SMTP Server (افتراضي: 25) **/ private int smtpport = 25 ؛ / ** جميع العناوين المرسلة إلى Tomail **/ قائمة خاصة <string> Tomail ؛ / ** محتوى البريد **/ محتوى السلسلة الخاصة ؛ / ** ما إذا كنت تريد عرض السجل **/ عرض منطقي خاص ؛ public void addTomail (سلسلة البريد) {if (tomail == null) tomail = new ArrayList <string> () ؛ tomail.add (mail) ؛ } public void send () {if (smtpserver == null) {رمي new runTimeException ("smtpserver لا يمكن أن يكون فارغًا") ؛ } if (username == null) {رمي new RunTimeException ("لا يمكن أن يكون اسم المستخدم فارغًا") ؛ } if (password == null) {رمي new RunTimeException ("لا يمكن أن تكون كلمة المرور فارغة") ؛ } if (fromMail == NULL) {رمي new RunTimeException ("لا يمكن أن يكون FromMail فارغًا") ؛ } if (tomail == null || tomail.isempty ()) {رمي new runtimeexception ("لا يمكن أن يكون Tomail فارغًا") ؛ } if (content == null || tomail.isempty ()) {رمي new runTimeException ("لا يمكن أن يكون المحتوى فارغًا") ؛ } مقبس المقبس = فارغ ؛ inputStream في = null ؛ OutputStream Out = null ؛ Try {Socket = New Socket (smtpserver ، smtpport) ؛ Socket.SetSotimeout (3000) ؛ في = socket.getInputStream () ؛ out = socket.getOutputStream () ؛ } catch (ioException e) {رمي new runTimeException ("connect to" + smtpserver + ":" + smtpport + "fans" ، e) ؛ } bufferedReaderProxy reader = جديد bufferedReaderProxy (new inputStreamReader (in) ، showlog) ؛ printWriterProxy Writer = new PrintWriterProxy (Out ، showlog) ؛ reader.showResponse () ؛ الكاتب. reader.showResponse () ؛ الكاتب. reader.showResponse () ؛ الكاتب. reader.showResponse () ؛ الكاتب. reader.showResponse () ؛ الكاتب. reader.showResponse () ؛ لـ (سلسلة البريد: tomail) {constr.println ("rcpt to:" + mail) ؛ reader.showResponse () ؛ } constr.println ("Data") ؛ الكاتب. if (الموضوع! = null) {writer.println ("الموضوع:" + موضوع) ؛ } constr.println ("من:" + frommail) ؛ الكاتب. لـ (سلسلة البريد: tomail) {constr.print (mail + "؛") ؛ } constr.println () ؛ الكاتب. println () ؛ الكاتب. println (المحتوى) ؛ الكاتب. println (".") ؛ reader.showResponse () ؛ الكاتب. reader.showResponse () ؛ حاول {socket.close () ؛ } catch (ioException e) {system.err.println ("إرسال إكمال البريد الإلكتروني ، وقمت بإغلاق خطأ المقبس حدث:" + e.getMessage ()) ؛ }} السلسلة العامة getSubject () {return subner ؛ } public void setSUBject (string string) {this.subject = toffice ؛ } سلسلة عامة getFrommail () {return frommail ؛ } public void setFrommail (String fromMail) {this.fommail = fromMail ؛ } السلسلة العامة getSmTpserver () {return smtpserver ؛ } public void setSmtPserver (String smtpserver) {this.smtpserver = smtpserver ؛ } public int getMtpport () {return smtpport ؛ } public void setSmtpport (int smtpport) {this.smtpport = smtpport ؛ } السلسلة العامة getContent () {return content ؛ } public void setContent (string content) {this.content = content ؛ } القائمة العامة <string> getTomail () {return tomail ؛ } public void settomail (قائمة <string> tomail) {this.tomail = tomail ؛ } السلسلة العامة getUserName () {return username ؛ } public void setusername (string username) {this.userName = username ؛ } السلسلة العامة getPassword () {return password ؛ } public void setPassword (سلسلة كلمة مرور) {this.password = password ؛ } public boolean getShowlog () {return Showlog ؛ } public void setShowlog (boolean showlog) {this.showlog = showlog ؛ } فئة ثابتة printWriterProxy تمتد printwriter {private boolean showrequest ؛ 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 (s) ؛ }} static class bufferreaderproxy يمتد bufferredreader {private boolean showresponse = true ؛ Public BufferreadReaderProxy (reader in ، Boolean ShowResponse) {super (in) ؛ this.showResponse = showResponse ؛ } public void showResponse () {try {string line = readline () ؛ رقم السلسلة = line.subString (0 ، 3) ؛ int num = -1 ؛ حاول {num = integer.parseint (number) ؛ } catch (استثناء e) {} if (num == -1) {رمي new RunTimeException ("خطأ معلومات الاستجابة:" + line) ؛ } آخر إذا (num> = 400) {رمي new RunTimeException ("فشل إرسال البريد الإلكتروني:" + خط) ؛ } if (showResponse) {system.out.println (line) ؛ }} catch (ioException e) {system.out.println ("فشل في الحصول على استجابة") ؛ }}}}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.