メールは日常生活です。この記事では、主にSMTPに基づいて電子メールを送信するJavaの方法を紹介します。 SMTPサービスに基づいて、Javaが電子メールを送信することに関連するスキルを分析します。特定の基準値があります。それを必要とする友達はそれを参照できます。
1.必要なプロパティをカプセル化するためにMailSendProperクラスを書く
import java.util.properties; public class mailsendproper {private string host; //送信メールサーバーのIPプライベート文字列ポート。 //送信メールサーバーのポート番号プライベート文字列sendAddress; //送信者のアドレスプライベート文字列ReceiveAddress; //メール受信者のアドレスプライベート文字列ユーザー名。 //ログインメールボックスのユーザー名を送信します。 //メールボックスパスワードを送信するためにログインプライベートブールboolean isvalidate = true; //認証が必要かどうかプライベート文字列件名。 //タイトルのプライベート文字列コンテンツにメールしてください。 //電子メールコンテンツpublic string getSubject(){return subject; } public void setSubject(string subject){this.subject = subject; } public string getContent(){return content; } public void setContent(string content){this.content = content; } public string gethost(){return host; } public void sethost(string host){host = host; } public string getport(){return port; } public void setport(string port){port = port; } public string getSendAddress(){return sendAddress; } public void setsendAddress(String SendAddress){sendAddress = sendAddress; } public string getreceiveaddress(){return receiveaddress; } public void setreceiveaddress(String ReceiveAddress){ReceIveAdDress = ReceIveAdDress; } public string getUsername(){return username; } public void setUsername(string username){this.username = username; } public string getPassWord(){パスワードを返します。 } public void setPassword(string password){this.password = password; } public boolean isisvalidate(){return yisvalidate; } public void setisValidate(boolean sisvalidate){this.isvalidate = isvalidate; } public Properties getProperties(){Properties Properties = new Properties(); properties.put( "mail.smtp.host"、this.host); properties.put( "mail.smtp.port"、this.port); properties.put( "mail.smtp.auth"、isvalidate? "true": "false");返品プロパティ。 }}2。送信情報をカプセル化するには、電子メールメサージを書きます
パブリッククラスのemailmessage {private string title;プライベート文字列コンテキスト。プライベートストリングトゥメール; public emailmessage(){super(); } public emailmessage(string title、string context、string toemail){super(); this.title = title; this.context = context; this.toemail = toemail; } public string getTitle(){return title; } public void settitle(string title){this.title = title; } public string getContext(){return Context; } public void setContext(string context){this.context = context; } public string getToEmail(){return Toemail; } public void setoMail(String Toemail){this.toemail = toemail; }}3. MailAtroneyの電子メールパスワードVerifierクラスを書きます
javax.mail.authenticator; import javax.mail.passwordauthentication; public class mailatorney extends authenticator {private string username;プライベート文字列パスワード。 public MailAtrorney(String username、string password){this.username = username; this.password = password; } //保護されたPasswordAuthentication getPassWordAuthentication(){return new PasswordAuthentication(username、password); }}4.メールセンドメールツールクラスを書きます
java.util.date;インポートjavax.mail.address;インポートjavax.mail.message; import javax.mail.session; import javax.mail.transport; import javax.mail.internet.internetadress; import javax.mail.internet.mimessage; implate {public static boolean mailtest(mailsendproper mailsender){mailAttorney astorny = null; if(mailsender.isisvalidate()){//識別認証が必要かどうかを決定= new mailAtrorney(mailsender.getusername()、mailsender.getpassword()); } //メールボックスセッションの属性とパスワードバリーターに基づいて、メールボックスを送信するためのビューイオンセッションセッションを作成します。セッションセッション= session.getInstance(mailsender.getProperties()、弁護士); //セッションメッセージに基づいてメールメッセージを作成しますmailmessage = new Mimemessage(session); try {// = new InternetAddress(Mailsender.getSendAddress()からメールボックスアドレスの送信者のアドレスを作成します。 //メールボックスメッセージの送信者を設定mailmessage.setfrom(from); //メールメッセージからこれを受信するアドレスを作成し、= new InternetAddress(mailsender.getreceiveaddress())にメールメッセージアドレスに設定します。 mailmessage.setrecipient(message.recipientType.to、to); mailmessage.setsubject(mailsender.getSubject()); //メールタイトルMailMessage.setSentDate(new date())を設定します。 //送信時間mailmessage.settext(mailsender.getContent())を設定します。 //メールコンテンツTransport.send(MailMessage)を設定します。 trueを返します。 } catch(Exception e){e.printstacktrace(); falseを返します。 }} public static boolean sendemail(emailmessageメッセージ){mailsendproper mail = new MailSendProper(); mail.sethost( "smtp.126.com"); // SMTPの単純なメール送信プロトコル、デフォルトのポート番号は25、Mail.SetPort( "25"); mail.setisValidate(true); //認証mail.setUsername( ""); // login username mail.setPassWord( "")を設定します。 //送信者のパスワードmail.setsendAddress( "")を設定します。 //この送信者の送信アドレスを設定し、ログインユーザー名は同じメールです。SetReceIveAdDress(message.getToeMail()); //受信者のアドレスmail.setsubject(message.getTitle())を設定します。 //メールボックスタイトルを設定しますmail.setContent(message.getContext()); //メールボックスのコンテンツを設定しますreturn mailtest(mail); }}注:POP3/SMTPサービスを正常に送信するには、使用される電子メールアドレスを有効にする必要があります。さまざまなメールアドレスと電子メールアドレスには、次のようなさまざまな送信プロトコルがあります。
QQメール:SMTP送信プロトコルはSMTP.QQ.comポート25です
POP3送信プロトコルはPOP3.QQ.comポート110です
5.メソッドテストを使用します
public static void main(string [] args){emailmessage message = new EmailMessage(); string code = string.valueof(math.random())。サブストリング(3、9); //検証コードmessage.settitle( "電子メール検証")を生成します。 //タイトルメッセージを電子メールで送信しました。SetContext( "こんにちは、親愛なるユーザー、確認コードは「+code+"。 "); //電子メールコンテンツメッセージ。SettoeMail( "[email protected]"); // system.out.printlnに送信する人(mailsend.sendemail(message)? "sendsuccess": "sendfailed");}この記事がJavaプログラミングを学ぶのに役立つことを願っています。