是我的本机地址错误吗?
public String send1() throws Exception
{
//确定要发送的邮件服务器地址
String mailserver = "liweiqiang";
try
{
//设置邮件的传输协议
Properties prop = System.getProperties();
prop.put("mail.smtp.host", mailserver);
prop.put("mail.smtp.auth","false");
//建立邮件发送的连接
Session s = Session.getDefaultInstance(prop, null);
//创建发送信息的载体
Message message = new MimeMessage(s);
//设置相关的邮件属性
message.setFrom(new InternetAddress(email.getForm()));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(email.getTo()));
message.setSubject(email.getTitle());
message.setText(email.getContext());
//发送
Transport.send(message);
System.out.println("-------send ok----------------");
}
catch(Exception e)
{
e.printStackTrace();
throw new Exception("邮件发送失败..");
}
return SUCCESS;
}
是我的本机地址错误吗?
com.sun.mail.smtp.SMTPSendFailedException: 550 admin@zhaohaitao.com esmtp authen
tication failed and this mail server requires smtp authentication.
如果非要通过本机Mail Server来发送,如果通过域名来发信,还必须设置DNS。你出现的问题,可能将SMTP Server设置为了要通过认证才能发信,因此必须在客户端设置。
[code="java"]prop.put("mail.smtp.auth","true"); [/code]
smtp authentication.
需要认证
如果想通过本地计算机的Mail Server设置到,必须要设置本机要建立Mail Server。(其实根本没有必要)
可以直接通过SMTP方式通过在Internet上的登记的邮件账户直接发送(前提条件是SMTP服务已经打开)。