SMTPAddressFailedException:550-Verification失败

问题描述 投票:1回答:1

我使用以下代码使用java发送电子邮件

 function send(){
   String host1 = "domainname";
   String to = "[email protected]";
   String from="[email protected]";
   String subject = "test mail";
   String messageText = "test content";
   boolean sessionDebug = false;
   Properties props = System.getProperties();
   props.put("mail.host", host1);
   props.put("mail.transport.protocol", "smtp");
   Authenticator authenticator = new Authenticator();
   Session mailSession = Session.getInstance(props, authenticator);



       mailSession.setDebug(sessionDebug);
           Message msg = new MimeMessage(mailSession);
   msg.setFrom(new InternetAddress(from));
   InternetAddress[] address = {new InternetAddress(to)};
   msg.setRecipients(Message.RecipientType.TO, address);
   msg.setSubject(subject);
   //msg.setSentDate(new Date());
   msg.setContent(messageText,"text/html");
   Transport.send(msg);
   }
   private class Authenticator extends javax.mail.Authenticator implements java.io.Serializable {
    private PasswordAuthentication authentication;

    public Authenticator() {
         String username = "[email protected]";

        String password = "**********";
        authentication = new PasswordAuthentication(username, password);
    }
    protected PasswordAuthentication getPasswordAuthentication() {
        return authentication;
    }
}

这工作正常。但现在我需要更改发件人地址“[email protected]”,我必须使用与以前相同的身份验证详细信息发送邮件。如果我只是使用相同的身份验证更改我的地址我收到以下错误:

exceptionjavax.mail.SendFailedException: Invalid Addresses;
  nested exception is:
    com.sun.mail.smtp.SMTPAddressFailedException: 550-Verification failed for <[email protected]>
550-No Such User Here"
550 Sender verify failed

是否可以发送具有相同身份验证且与地址不同的邮件.....

任何人都可以帮助我找到问题.....

java email smtp
1个回答
0
投票

我怀疑是有一些配置或策略阻止from地址未注册的传出邮件。如果您遇到问题是配置用户可以回复的地址(并且应该与您要验证的地址不同),那么您可以设置reply-to标头。

© www.soinside.com 2019 - 2024. All rights reserved.