关于163发送邮件的异常

Java_灵泽 2018-01-18 12:01:17
package com.itlzp.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;

import javax.mail.Address;
import javax.mail.Message;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class msg extends HttpServlet{



@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doGet(request, response);
}


@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置编码格式
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");

//设置 收件人 正文 主题
String user = "xxxxxxxxxxxx@qq.com";
String top = "我的第一封邮件";
String content = "java代码的群发邮件";

//设置一个邮件的发送者 163邮件
String username = "xxxxxxxxxxxx@163.com";
//设置密码
String password = "xxxxxxxxxxxx";

//发送邮件
Properties properties = new Properties();
properties.put("mail.transport.protocol","smtp");//邮件的传输协议
properties.put("mail.host","smtp.163.com"); //邮件发送的服务器
properties.put("mail.smtp.auth",true); //验证码 true 不需要输入验证码


Session session = Session.getInstance(properties);

//创建一个邮箱
MimeMessage ms = new MimeMessage(session);

try {
//设置邮箱的来源
Address toAddress = new InternetAddress(username);
ms.setFrom(toAddress);

//邮件的接收者
ms.setRecipients(Message.RecipientType.TO, user);
ms.setSubject(top);//发送的正文
ms.setText(content);//发送邮件的主题
ms.saveChanges();//保存邮件


//正式开始发送邮件
Transport ts = session.getTransport();
ts.connect(username,password);
ts.sendMessage(ms, ms.getAllRecipients());
ts.close();

PrintWriter pw = response.getWriter();
pw.println("发送成功");

} catch (Exception e) {
e.printStackTrace();
}

}




}
...全文
545 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Java_灵泽 2018-01-19
  • 打赏
  • 举报
回复
问题已经解决了!只是我自己没开启163邮箱的 第三方授权而已。虽然没有人回答,但是很高兴还是结贴了~
Java_灵泽 2018-01-18
  • 打赏
  • 举报
回复
求解决, Could not connect to SMTP host: smtp.163.com, port: 25, response: -1 这个问题

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧