public static boolean SendEmailTest(String toEmailStr, String title, String content, String fromEmail) throws AddressException{
boolean flag = false;
Properties props = new Properties();
Session sendMailSession;
Transport transport;
sendMailSession = Session.getInstance(props, null);
props.put("mail.smtp.host", "smtp.163.com");
props.put("mail.smtp.auth", "ture");
try{
transport = sendMailSession.getTransport("smtp");
System.out.println("1");
transport.connect("smtp.163.com", "joehenu", "qiao1988feng"); //到这里的时候就停下来了
System.out.println("2");
Message newMessage = new MimeMessage(sendMailSession);
System.out.println("3");
//設置mail的主題
String mail_subject = title;
newMessage.setSubject(mail_subject);
Address address[] = {new InternetAddress(fromEmail)};//改变发件人地址
newMessage.addFrom(address);
//設置收件人地址
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(toEmailStr));
//設置mail正文
newMessage.setSentDate(new Date());
String mail_text=content;
newMessage.setContent(mail_text, "text/plain;charset=gb2312");
System.out.println("4");
//保存發送信息
newMessage.saveChanges();
System.out.println("5");
transport.send(newMessage, newMessage.getRecipients(Message.RecipientType.TO));
flag = true;
System.out.println("6");
transport.close();
}catch(Exception e){
System.out.println("7");
flag = false;
System.out.println(e);
}
return flag;
}
下面是log信息:
1
7
javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.com, port: 25;
nested exception is:
java.net.ConnectException: Connection timed out: connect
tmp=false
一直查找不到是什么问题?高手帮忙解决一下呗,小弟多谢了
2 个解决方案
#1
下面是我的调用方法:
boolean tmp = SendEmailTest("joehenu@163.com","123","456","joehenu@163.com");
不知道为什么,一直发送不了
boolean tmp = SendEmailTest("joehenu@163.com","123","456","joehenu@163.com");
不知道为什么,一直发送不了
#2
用java mail
public static void main(String[] args) {
// 应用示例:线程化发送邮件
new Thread() {
@Override
public void run() {
System.out.println("SENDER-" + this.getId() + ":/>" + "开始发送邮件...");
/**
emailServer:ym.163.com
emailUserName:caiping_li@rbtk.com
emailUserPassword:li1185ping
*/
// 创建邮件对象
Mail mail = new Mail();
mail.setHost("stmp.qq.com"); // 邮件服务器地址
mail.setFrom("发件人邮箱"); //发件人邮箱
mail.addTo("收件人邮箱"); // 收件人邮箱
mail.setSubject("邮件主题"); // 邮件主题
mail.setUser("发件人邮箱"); // 发件人邮箱
mail.setPassword("pwd"); // 密码
mail.setContent("这是一个测试,请不要回复!"); // 邮件正文
System.out.println(mail.send()); // 发送
System.out.println("SENDER-" + this.getId() + ":/>"
+ "邮件已发送完毕!");
}
}.start();
}
public static void main(String[] args) {
// 应用示例:线程化发送邮件
new Thread() {
@Override
public void run() {
System.out.println("SENDER-" + this.getId() + ":/>" + "开始发送邮件...");
/**
emailServer:ym.163.com
emailUserName:caiping_li@rbtk.com
emailUserPassword:li1185ping
*/
// 创建邮件对象
Mail mail = new Mail();
mail.setHost("stmp.qq.com"); // 邮件服务器地址
mail.setFrom("发件人邮箱"); //发件人邮箱
mail.addTo("收件人邮箱"); // 收件人邮箱
mail.setSubject("邮件主题"); // 邮件主题
mail.setUser("发件人邮箱"); // 发件人邮箱
mail.setPassword("pwd"); // 密码
mail.setContent("这是一个测试,请不要回复!"); // 邮件正文
System.out.println(mail.send()); // 发送
System.out.println("SENDER-" + this.getId() + ":/>"
+ "邮件已发送完毕!");
}
}.start();
}
#1
下面是我的调用方法:
boolean tmp = SendEmailTest("joehenu@163.com","123","456","joehenu@163.com");
不知道为什么,一直发送不了
boolean tmp = SendEmailTest("joehenu@163.com","123","456","joehenu@163.com");
不知道为什么,一直发送不了
#2
用java mail
public static void main(String[] args) {
// 应用示例:线程化发送邮件
new Thread() {
@Override
public void run() {
System.out.println("SENDER-" + this.getId() + ":/>" + "开始发送邮件...");
/**
emailServer:ym.163.com
emailUserName:caiping_li@rbtk.com
emailUserPassword:li1185ping
*/
// 创建邮件对象
Mail mail = new Mail();
mail.setHost("stmp.qq.com"); // 邮件服务器地址
mail.setFrom("发件人邮箱"); //发件人邮箱
mail.addTo("收件人邮箱"); // 收件人邮箱
mail.setSubject("邮件主题"); // 邮件主题
mail.setUser("发件人邮箱"); // 发件人邮箱
mail.setPassword("pwd"); // 密码
mail.setContent("这是一个测试,请不要回复!"); // 邮件正文
System.out.println(mail.send()); // 发送
System.out.println("SENDER-" + this.getId() + ":/>"
+ "邮件已发送完毕!");
}
}.start();
}
public static void main(String[] args) {
// 应用示例:线程化发送邮件
new Thread() {
@Override
public void run() {
System.out.println("SENDER-" + this.getId() + ":/>" + "开始发送邮件...");
/**
emailServer:ym.163.com
emailUserName:caiping_li@rbtk.com
emailUserPassword:li1185ping
*/
// 创建邮件对象
Mail mail = new Mail();
mail.setHost("stmp.qq.com"); // 邮件服务器地址
mail.setFrom("发件人邮箱"); //发件人邮箱
mail.addTo("收件人邮箱"); // 收件人邮箱
mail.setSubject("邮件主题"); // 邮件主题
mail.setUser("发件人邮箱"); // 发件人邮箱
mail.setPassword("pwd"); // 密码
mail.setContent("这是一个测试,请不要回复!"); // 邮件正文
System.out.println(mail.send()); // 发送
System.out.println("SENDER-" + this.getId() + ":/>"
+ "邮件已发送完毕!");
}
}.start();
}