通过javamail实现发送邮件,供大家参考,具体内容如下
注意:服务器有些端口是没有开放的需要去开放端口,有些邮箱是需要开启对应授权服务的。
1. maven依赖:
& lt; !——https://mvnrepository.com/artifact/javax.mail/javax.mail-api——比; & lt;依赖比; & lt; groupId祝辞javax。邮件& lt;/groupId比; & lt; artifactId祝辞邮件& lt;/artifactId比; & lt;版本祝辞1.4.5 & lt;/版本比; & lt;/依赖比; & lt;依赖比; & lt; groupId祝辞com.sun。邮件& lt;/groupId比; & lt; artifactId祝辞javax。邮件& lt;/artifactId比; & lt;/依赖比; >之前2。新建个实体类用来保存信息
进口java.util.Properties; 公开课MailSenderInfo {//发送邮件的服务器的IP(或主机地址) 私人字符串mailServerHost;//发送邮件的服务器的端口 私人字符串mailServerPort;//发件人邮箱地址 私人字符串fromAddress;//收件人邮箱地址 私人字符串以解决;//登陆邮件发送服务器的用户名 私人字符串的用户名;//登陆邮件发送服务器的密码 私人密码字符串;//是否需要身份验证 私人布尔验证=true;//邮件主题 私人字符串对象;//邮件的文本内容 私人字符串内容;//邮件附件的文件名 私人String [] attachFileNames; 公共属性getproperty () { p=新属性(); p.put (“mail.smtp。主机”,this.mailServerHost); p.put (“mail.smtp。“港this.mailServerPort);//设置是否安全验证,默认为假,一般情况都设置为真实的 p.put (“mail.smtp。身份验证”、“真正的”); p.put (“mail.smtp.starttls.enable”,“真正的”); p.put (“mail.smtp.EnableSSL.enable”,“真正的”); 返回p; } 公共字符串getMailServerHost () { 返回mailServerHost; } 公共空间setMailServerHost(字符串mailServerHost) { 这一点。mailServerHost=mailServerHost; } 公共字符串getMailServerPort () { 返回mailServerPort; } 公共空间setMailServerPort(字符串mailServerPort) { 这一点。mailServerPort=mailServerPort; } 公共布尔isValidate () { 返回验证; } 公共空间setValidate(布尔验证){ 这一点。验证=验证; } 公共String [] getAttachFileNames () { 返回attachFileNames; } 公共空间setAttachFileNames (String[]文件名){ 这一点。attachFileNames=文件名; } 公共字符串getFromAddress () { 返回fromAddress; } 公共空间setFromAddress(字符串fromAddress) { this.fromAddress=fromAddress; } 公共字符串getPassword () { 返回密码; } 公共空间向setPassword(字符串密码){ 这一点。密码=密码; } 公共字符串getToAddress () { 返回解决; } 公共空间setToAddress(字符串的toAddress) { 这一点。解决=解决; } 公共字符串getUserName () { 返回用户名; } 公共空间setUserName(字符串的用户名){ 这一点。用户名=用户名; } 公共字符串getSubject () { 返回主题; } 公共空间setSubject (String对象){ 这一点。主题=主题; } 公共字符串getContent () { 返回内容; } 公共空间setContent (String textContent) { 这一点。内容=textContent; } } >之前3。创建一个验证器
进口javax.mail.Authenticator; 进口javax.mail.PasswordAuthentication;/* * *邮件用户名和密码认证器 */公开课MyAuthenticator扩展身份{ 字符串的用户名=零; 字符串密码=零; 公共MyAuthenticator () { } 公共MyAuthenticator(用户名的字符串,字符串密码){ 这一点。用户名=用户名; 这一点。密码=密码; } 保护PasswordAuthentication getPasswordAuthentication () { 返回新PasswordAuthentication(用户名、密码); } } >之前4。在调用的地方给实体类赋值
私人无效电子邮件(HttpSession会话,字符串邮件){//设置邮件服务器信息 MailSenderInfo mailInfo=new MailSenderInfo (); mailInfo.setMailServerHost (" smtp-mail.outlook.com ");//发送邮件的服务器的IP(或主机地址) mailInfo.setMailServerPort(" 587 ");//有些端口在服务器上是没开放的这里需要注意下 mailInfo.setValidate(真正的);//邮箱用户名(根据自己情况设置)这里可以多弄几个邮箱过来避免邮箱账号需要验证或者被当成垃圾邮件封号一个失败就用B mailInfo.setUserName(“此处填写跟上面发送邮件服务器对应的邮箱”);//邮箱密码(根据自己情况设置) mailInfo.setPassword(“这是你的密码”);//发件人邮箱(根据自己情况设置,如果你没对邮箱进行特别设置,应该和邮箱用户名一致) mailInfo.setFromAddress(“这里跟上面一样”);//收件人邮箱(根据自己情况设置) mailInfo.setToAddress(电子邮件);//邮件标题 mailInfo.setSubject(“我是标题”);//邮件内容 mailInfo.setContent(“我是内容,正经的内容不是垃圾邮箱”);//发送邮件 SimpleMailSender短信=new SimpleMailSender ();//发送文体格式 sms.sendTextMail (mailInfo); }基于JavaMail实现邮件发送