近日在做一个网站,用到了企业邮箱,之前对邮件发送不太了解,本来有一个网站用的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 587props.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 blocke.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还是出现不兼容的情况,还没有解决

用Hotmail做企业邮箱.发送邮件。相关推荐

  1. Java腾讯企业邮箱发送邮件

    ##Java通过腾讯企业邮箱发送邮件(多人发送) 企业邮箱需要使用ssl private static String account = "企业邮箱账户";// 登录账户priva ...

  2. python程序下载腾讯企业邮箱附件_python3使用腾讯企业邮箱发送邮件的实例

    1.腾讯企业邮箱SMTP服务器地址:smtp.exmail.qq.com,ssl端口为:465 2.确保腾讯企业邮箱中开启了SMTP服务: 3.示例代码: #!/usr/bin/env python3 ...

  3. 基于nodemailer使用阿里云企业邮箱发送邮件(526错误的解决)

    在虽然日常生活中,QQ,微信等即时聊天工具几乎主导了人们的生活,但是邮件依然是现代生活不可缺少的一部分.这篇文章主要讲述使用node.js 中的nodemail模块操作阿里云的企业邮箱发送邮件 (52 ...

  4. [Python自动办公]利用中国移动企业邮箱发送邮件

    利用Python,通过中国移动企业邮箱发送邮件,助力自动化办公. 代码已稳定使用一年多. 一.使用smtplib库 参考链接 二.企业邮箱的相关配置 在企业各种网站中无限跳转,最终找到这个网页,包含一 ...

  5. 使用腾讯企业邮箱发送邮件501 ÇëµÇ¼exmail.qq.comÐÞ¸ÄÃÜÂë

    使用腾讯企业邮箱发送邮件回出现 501 ÇëµÇ¼exmail.qq.comÐÞ¸ÄÃÜÂë 错误. 管理员登录创建的账号,同时分配了一个密码,不能直接使用这个密码,否则会出现上述的错误,我们要用分 ...

  6. 阿里云服务器企业邮箱发送邮件,解决25端口被封问题

    最近弄了一个项目,其中一个模块通过163的企业邮箱发送邮件,本机上测试没有问题,部署到阿里云服务器后,总是提示发送邮件失败. 通过查询分析,是由于阿里云服务器为了安全起见,封了25端口,导致25端口不 ...

  7. Java通过腾讯企业邮箱发送邮件

    Java通过腾讯企业邮箱发送邮件 企业邮箱需要使用ssl private static String account = "企业邮箱账户";// 登录账户 private stat ...

  8. springboot腾讯企业邮箱发送邮件的yml配置

    springboot腾讯企业邮箱发送邮件的yml配置 spring:mail:default-encoding: UTF-8host: smtp.exmail.qq.comport: 587usern ...

  9. 腾讯企业邮箱发送邮件异常(501):ÇëµÇ¼exmail.qq.comÐÞ¸ÄÃÜÂë

    腾讯企业邮箱发送邮件异常(501):ÇëµÇ¼exmail.qq.comÐÞ¸ÄÃÜÂë 解决方法: 使用者创建的账号,系统会自动分配一个密码,不可直接使用这个密码,否则会出现上述异常,我们要用分配 ...

最新文章

  1. c语言二进制转十进制(附完整源码)
  2. C# 模拟鼠标移动与点击
  3. centos7: ifconfig出现command not found解决办法
  4. VSC++ 常量中出现符号
  5. hadooppythonsql_半小时搞定Hadoop+Mysql+Hive+Python
  6. Java案例:统计文本中所有整数之和
  7. Spring5.0(2)--- Framework 5 FAQ
  8. php云服务器买什么系统,什么是云服务器
  9. springMVC数据格式转换的三种实现
  10. mngoDB 常用语法
  11. serialize()与unserialize()
  12. 在线SQL美化格式化工具
  13. DreamScene for Windows 7梦幻桌面使用教程
  14. access 微软以外 编辑_如何在 Microsoft Access 中修改查询属性
  15. c4d打开没反应_(图文+视频)C4D野教程:总结四种制作漩涡样条的方法
  16. 笔记本计算机故障与诊断,笔记本电脑维护与故障诊断
  17. URLConnection 传入参数
  18. 【汇正财经】短线交易行为的构成问题
  19. opencv小游戏(05):小车的运动
  20. Unity使用微软SDK实现文字转语音

热门文章

  1. 赖春林Python初学笔记 Day0.2
  2. 安卓手机上的通用快捷键
  3. httptomcatServlet
  4. 浅析Spring事务实现原理
  5. Android EditText的属性详解以及EditText输入密码的格式限制
  6. 无限法则为什么进不了服务器,无限法则登录服务器不在国家地区开放解决办法_无限法则欧洲国家不能登录怎么办_玩游戏网...
  7. photoshop打开图片显示的是索引,无法编辑解决
  8. 渲染太慢时间太久有哪些原因?附上加快渲染的技巧
  9. 深富策略:股市中对敲的操作手法
  10. 使用迅雷代替SDK Manager快速下载Android SDK相关