关于javamail发送到本机的问题

是我的本机地址错误吗?

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.

3个回答

如果非要通过本机Mail Server来发送,如果通过域名来发信,还必须设置DNS。你出现的问题,可能将SMTP Server设置为了要通过认证才能发信,因此必须在客户端设置。
[code="java"]prop.put("mail.smtp.auth","true"); [/code]

smtp authentication.
需要认证

如果想通过本地计算机的Mail Server设置到,必须要设置本机要建立Mail Server。(其实根本没有必要)
可以直接通过SMTP方式通过在Internet上的登记的邮件账户直接发送(前提条件是SMTP服务已经打开)。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问