近日在做一个网站,用到了企业邮箱,之前对邮件发送不太了解,本来有一个网站用的sogou免费企业邮箱,现在老板要用Hotmail无奈之好再来写个,由于Hotmail邮箱需要SSL验证,而sogou不需要,所以这点就比较麻烦。
刚开始没做过这样的东西,当然是没法下手,随而网上查了些资料写了个,经过一番苦战终于发出去了,测试了我的gmail邮箱收到了邮件,但是发现国内的比如QQ和126 之类收取邮件时候比较慢,gmail很快。顺便发了上来。
package com.wlw168.mail;
import java.io.UnsupportedEncodingException;
import java.util.Properties;
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.MimeMessage;
import javax.mail.internet.MimeUtility;
public class SendMail {
public static void sendMail(String toEmail, String title, String content) {
String host = "smtp.live.com"; // 指定的smtp服务器
String from = "XXX信息中心"; // 邮件标题
String to = "recive@gmail.com"; // 邮件接收人的邮件地址
final String username = "xxxx@XXX.com"; // 发件人的邮件帐户
final String password = "password"; // 发件人的邮件密码
// 创建Properties 对象
Properties props = System.getProperties();
// 添加smtp服务器属性 添加了SSL验证
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.user", from);
props.put("mail.smtp.password", password);
props.put("mail.smtp.port", "25"); // gmail smtp port 587
props.put("mail.smtp.auth", "true");
// 创建邮件会话
Session session = Session.getDefaultInstance(props,new Authenticator() { // 验账账户
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}});
try {
// 定义邮件信息
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(MimeUtility.encodeText(from,"gb2312", "B")));//GB2312编码,防止接收后标题乱码
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(title);
message.setText(content);
// 发送消息
// session.getTransport("smtp").send(message); //也可以这样创建Transport对象
Transport.send(message);
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
SendMail.sendMail("XXXXX@gmail.com", "测试", "发送成功");
}
}
邮件地址,密码之类修改成你自己的,就可以发送了
做的过程中出现了好多问题
1、javax.mail.AuthenticationFailedException
这有可能是你的发送邮件的名字和密码不对,会出现这样的异常
第二种情况
javax.mail.MessagingException: Could not connect to SMTP host: smtdp.live.com, port: 25;
这是没有连接到邮箱SMTP服务器出现的问题,重点检查你的SMTP是否写对了。
第三种:
javax.mail.SendFailedException: Sending failed;
nested exception is:
class javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first
at javax.mail.Transport.send0(Transport.java:218)
at javax.mail.Transport.send(Transport.java:80)
at com.wlw168.mail.SendMail.sendMail(SendMail.java:58)
at com.wlw168.mail.SendMail.main(SendMail.java:69)
这种就不好说了,我是用MyEclipse6.5开发的,这个可能是mail.jar 和activation.jar版本的问题,出这个问题是在J2EE1.4上面出的。如果用的是JAVAEE1.5的话,就需要删除JAVAEE.JAR里面的mail 和activation这两个文件夹里面的,这样后应该就没事了,不然的话也会出现版本不兼容的问题。JAVAEE.JAR这个JAR包是在MyEclipse的
D:\Program Files\MyEclipse 6.5M1 Blue\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.4.100.zmyeclipse64100200805\data\libraryset\EE_5
这是我的路径找到后用解压缩WinRAR打开删除里面的mail 和activation文件夹,我当初是这样做删除后在本地测试通过。 但在J2EE1.4还是出现不兼容的情况,还没有解决
分享到:
相关推荐
浪潮网页邮件群发系统v4.5-0410支持126.163.tom.sina.hotmail.yeah邮箱发送
实现java发送邮件功能,以正式gmail,hotmail等主流邮箱邮件都可接收到
软件几乎支持如163邮箱,qq邮箱,新浪邮箱等各种主流的邮箱,相当于一款桌面邮箱客户端,你可以通过这款软件发送接收邮件,而且有新邮件时候还会给你推送信息让你能第一时间看到新邮件。软件凝聚网易专业邮箱客户端...
发送邮件,匿名发送,支持发送gmail,hotmail邮件
本着"自立更生艰苦奋斗"的精神所以自己在火车上花了半天时间用python写了个发送邮件的脚本。 这是第一版,可能有bug,待以后改进,发现任何问题欢迎大家给我发邮件。可以从我的资源里下载。 程序功能: 发送邮件...
* sendMail 发送邮件函数 * * @param sender 是String类型,邮件发送者信息 * @param password 是String类型,邮件发送者密码 * @param addressee 是String类型,邮件接收者信息 * @param subject 是String类型,...
<br/> 最新的1.2 Beta和前一个版本不同AOL,Gmail,Hotmail,Outlook和Yahoo Mail的用户可以正常使用电子邮件,当Pando发现邮件容量大于某个特定值的文件将会被自动转换。该文件的一个副本将被发送至Pando的...
本着"自立更生艰苦奋斗"的精神所以自己在火车上花了半天时间用python写了个发送邮件的脚本。 发现任何问题欢迎大家给我发邮件。可以从我的资源里下载。 程序功能: 发送邮件附件,可以一次发送一个目录(如果包含子...
// 发送邮件 } } /** * ValidateAuther 邮件验证类,验证邮件发送者信息 */ class ValidateAuther extends Authenticator { /** 邮件发送者 */ private String sender; /** 邮件接受者 */ private String...
源码通过套接字实现了IMAP指令获取邮件,源码实现了链接收信服务器_IMAP,登录邮箱,发送数据,接收数据,发送IMAP命令,断开连接等命令。点评:源码调用了常量支持库,如果易语言没有这个支持库,请自行在网站上...
Foxmail是优秀的国产电子邮件客户端软件。新的Foxmail具备强大的反垃圾邮件功能。...提高收发Hotmail、MSN电子邮件速度 支持名片(vCard)、以嵌入方式显示附件图片、增强本地邮箱邮件搜索功能等等。 FoxMail截图
Foxmail一款优秀的国产电子邮件客户端软件,具备强大的反垃圾邮件功能。它使用多种技术对邮件进行判别...提高收发Hotmail、MSN电子邮件速度 支持名片(vCard)、以嵌入方式显示附件图片、增强本地邮箱邮件搜索功能等等。
支持 163.com 126.com yeah.net sina.com hotmail.com gmail.com live.cn yahoo.cn yahoo.com.cn sohu.com tom.com
提高收发Hotmail、MSN电子邮件速度 支持名片(vCard)、以嵌入方式显示附件图片、增强本地邮箱邮件搜索功能等等。 Foxmail v7.0.1.91 版本特性:1.增加了QQ邮箱内域互通的邮件撤回功能; 2.增加了ActiveSync完全同步...
显示发送邮件人的IP地址来源 发送加密邮件,邮件更安全 支持IMAP/APOP/POP3/SMTP、Gmail/Hotmail/MSN/Yahoo 、RSS、SSL 发送邮件加密,邮件更安全 强大的邮件过滤和规则功能 强大的远程邮箱管理功能 代理支持:...
主要是网络邮件该项目将提供一种简便的方法来使用您的gmail创建新帐户并免费回复,转发,删除,接收和发送邮件。 目的:- 该项目旨在开发一个基于Web的邮件系统,用户可以通过以(MTA)邮件传输的形式发送邮件以及...
Koomail支持各国字符集和Unicode、支持IMAP/POP/SMTP/Hotmail/Yahoo、SSL、RSS,可以分割断点发送 邮件并自动合并,具有强大的 垃圾邮件过滤功能,可加密发送和远程管理邮件,精悍而专业。 Koomail优势功能: 1...
最近需要用到发送邮件的功能,原本是用PHP自带的mail()函数发送的。php mail()这个方法非常简单、方便、易用,但是除了网易邮箱、QQ邮箱、GMAIL邮箱等常用的邮箱可以收到之外,经测试HOTMAIL、TOM、LIVE等邮箱是收不...