java mail 503_java,_com.sun.mail.smtp.SMTPSendFailedException: 503 Error: need EHLO and AUTH first !...

com.sun.mail.smtp.SMTPSendFailedException: 503 Error: need EHLO and AUTH first !

import java.io.File;

import java.util.Date;

import java.util.Properties;

import javax.activation.DataHandler;

import javax.activation.FileDataSource;

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.mail.internet.MimeUtility;

import java.util.Properties;

import javax.mail.Address;

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

public class Email {

public static void main(String[] args) {

InternetAddress[] popAddressList = null;

String smtpServer = "smtp.qq.com";

String popServer = "pop.qq.com";

String SmtpAddress = "2668208858@qq.com";

String PopAddresslist = "545739504@qq.com";

String Subject = "这是一封测试邮件";

String Type = "text/html";

String messageText = "邮件的内容:hello,world";

String[] arrArchievList = new String[3];

arrArchievList[0] = "c:\\1.JPG";

arrArchievList[1] = "c:\\2.JPG";

arrArchievList[2] = "c:\\3.jpg";

boolean sessionDebug = false;

try

{

java.util.Properties props = System.getProperties();

props.put("mail.smtp.host",smtpServer);//存储发送邮件服务器的信息

props.put("mail.smtp.auth","false");//同时通过验证

props.put("mail.transport.protocol","smtp");

Session mailSession = Session.getInstance(props);//根据属性新建一个邮件会话

mailSession.setDebug(sessionDebug);

Message msg = new MimeMessage(mailSession);

// 设定发件人的地址

msg.setFrom(new InternetAddress(SmtpAddress));

// 设定收信人的地址

popAddressList = InternetAddress.parse(PopAddresslist,false);

msg.setRecipients(Message.RecipientType.TO, popAddressList);

// 设定信中的主题

msg.setSubject(Subject);

// 设定送信的时间

msg.setSentDate(new Date());

// 是否以附件方式发送邮件

boolean bolSendByArchieve = false;

// 如果有附件,先将由件内容部分存起来

if (arrArchievList != null && arrArchievList.length >0)

{

// 1.保存内容

MimeMultipart mp = new MimeMultipart();

MimeBodyPart mailContentPart = new MimeBodyPart();

mailContentPart.setContent(messageText,Type + ";charset=GBK");

msg.setContent(messageText,Type + ";charset=GBK");

// 这句很重要,千万不要忘了

mp.setSubType("related");

mp.addBodyPart(mailContentPart);

// 2.保存多个附件

for (int index = 0;index < arrArchievList.length;index++)

{

File file = new File(arrArchievList[index]);

MimeBodyPart mailArchieve = new MimeBodyPart();

FileDataSource fds = new FileDataSource(arrArchievList[index]);

mailArchieve.setDataHandler(new DataHandler(fds));

mailArchieve.setFileName(MimeUtility.encodeText(fds.getName(),"GBK","B"));

mp.addBodyPart(mailArchieve);

}

// 3.最后集成内容和附件,一起发送

msg.setContent(mp);

}

else

{

msg.setContent(messageText,Type + ";charset=GBK");

}

//发送邮件

Transport transport;

msg.saveChanges();//存储邮件信息

transport = mailSession.getTransport("smtp");

//以smtp方式登录邮箱 username填写你的发送邮件的用户名如bluewens,userpwd填写你的密码,如获88888888,即transport.connect("smtp.163.com","bluewens","88888888");

transport.connect("smtp.qq.com","2668208858@qq.com");

transport.sendMessage(msg,msg.getAllRecipients());//发送邮件,其中第二个参数是所有

//已设好的收件人地址

props.put("pop.qq.com", "false");

transport.close();

System.out.println("邮件已发送成功!");

}

catch(Exception ex)

{

ex.printStackTrace();

}

}

相关阅读:

关于jquery一段源码的疑问?

Activity如何动态改变主题不闪动

利用cookies实现网站“新手引导”功能,过期时间到达后再出会弹出,通过什么方法或者其他实现方式避免这种情况?

哪里能查询到vim中的哪些快捷键组合是默认已经使用了的,哪些是还没有使用的?

git 如何本地忽略文件,而保留远端的同名文件

netstat 第一次用,看不懂

laravel5.1 做微信授权登录

javascript函数自执行里的this为什么指向window

SQL:php+mysql支持stacked query(堆叠查询)吗?

urlencode()是如何使用的?

rsync inotify使用ftp上传可以自动同步 用java代码上传没有自动同步。

ejs模板里面怎么检查变量的有效性?

Linux 的脚本程序经常会被杀死怎么破?

跨域图片在canvas中绘制出现问题,怎能解决

为什么我把一个setTimeout语句赋值给一个变量,它会执行呢?

vim里如何搜索某个目录下的所有文件

Connection reset by peer 的解决办法

Delphi的WaitForSingleObject在多线程中可能出现的一种情况,有什么解决的想法?

table的样式求助,让内容填充表格

Mesos源码中,有关C++几个类的设计问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值