600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 解决项目部署到阿里云服务器邮件发送失败的方法

解决项目部署到阿里云服务器邮件发送失败的方法

时间:2018-07-09 16:50:30

相关推荐

解决项目部署到阿里云服务器邮件发送失败的方法

阿里云服务器禁用了25端口,所以改为465端口采用SSL协议传输邮件

163网易免费邮箱相关服务器信息:

相关代码:

package com.yc.util;import java.io.File;import java.util.Properties;import java.util.Random;import javax.activation.DataHandler;import javax.activation.DataSource;import javax.activation.FileDataSource;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;import javax.servlet.http.HttpSession;public class SendEmailUtil{public int sendEmail(String reperson,HttpSession sessions){int result=0;// 收件人电子邮箱String to = reperson;// 发件人电子邮箱String from = "你的真实邮箱地址";// 指定发送邮件的主机为 String host = ""; //163邮件服务器// 获取系统属性Properties properties = System.getProperties();// 设置邮件服务器properties.setProperty("mail.smtp.host", host);properties.put("mail.smtp.auth", "true");//阿里云服务器禁用25端口,所以服务器上改为465端口properties.put("mail.smtp.socketFactory.port", "465");properties.put("mail.smtp.socketFactory.class", ".ssl.SSLSocketFactory");properties.setProperty("mail.smtp.socketFactory.fallback", "false");properties.setProperty("mail.smtp.socketFactory.port", "465");// 获取默认session对象Session session = Session.getDefaultInstance(properties,new Authenticator(){public PasswordAuthentication getPasswordAuthentication(){return new PasswordAuthentication("你的真实邮箱地址", "你的真实密码"); //发件人邮件用户名、密码}});try{// 创建默认的 MimeMessage 对象MimeMessage message = new MimeMessage(session);// Set From: 头部头字段message.setFrom(new InternetAddress(from));// Set To: 头部头字段message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));// Set Subject: 头部头字段message.setSubject("注册论坛网验证码");// 设置消息体Random rand=new Random();String txt=String.valueOf(rand.nextInt(9000)+1000);sessions.setAttribute("yanzhengma",txt);message.setText("你好"+reperson+"! 欢迎注册论坛网。验证码为:"+txt);// 发送消息Transport.send(message);result=1;}catch (MessagingException mex) {mex.printStackTrace();}return result;}}

贴上以上的代码以为可以发送,在本地电脑可以发送,在服务器上仍然发送失败,查看输出日志后才发现报的是以下的错误:

解决方法:在/etc/hosts中添加127.0.0.1本地映射

1.在linux终端输入 hostname

2.打开/etc/hosts编辑添加一行 127.0.0.1 iZwz9dgm0ak5eyqrkwypkjZ

3.再输入 hostname -i

解决以上问题,终于可以发送邮件啦!欢迎关注下方公众号,一起交流,期待你的到来

参考:/hoojjack/p/8025284.html

/FLFL/p/6476358.html

/zhangyunfei_happy/article/details/56276206

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。