0

我面临 Lotus 服务器的一些问题。负责服务器的人告诉我配置没问题,但是我不能用他的 Lotus 服务器发送带有 html 正文的邮件。

我得到的错误是:“554 Relay 由于政策原因被拒绝。”</p>

当我在我的电脑上尝试时,我使用了 smpt.gmail.com 并且像冠军一样工作。所以我相信不是代码问题,问题在于服务器配置。

javaMail和Lotus有问题吗?这是一个普遍的问题吗?(在一个博客中,有人说无法发送 html,但我不敢相信)

我的代码以防万一,

public void sendEmail(String toEmailAddr, String subject, String issue) {
    Properties props = new Properties();
    props.put("mail.smtp.host", host);
    props.put("mail.smtp.port", port);

    Session mailSession = Session.getDefaultInstance(props);
    Message simpleMessage = new MimeMessage(mailSession);

    InternetAddress toAddress = null;
    InternetAddress toAddress2[] = null;
    Transport t = null ;    

    try {
        Multipart mp = new MimeMultipart();
        MimeBodyPart htmlPart = new MimeBodyPart();
        htmlPart.setContent(issue, "text/html");
        mp.addBodyPart(htmlPart);
        simpleMessage.setContent(mp);
    } catch (MessagingException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }       
    try {
        toAddress = new InternetAddress(toEmailAddr);
        toAddress2 = new InternetAddress [1];
        toAddress2[0] = toAddress;          
    } catch (AddressException e) {
        // TODO LOG 
        e.printStackTrace();
    }
    try {
        simpleMessage.setRecipients(RecipientType.TO, toAddress2);
        simpleMessage.setSubject(subject);          
        t = mailSession.getTransport("smtp");       
        if(userPwd==null)
            userPwd = "";
        t.connect(host, userName, userPwd);
        t.sendMessage(simpleMessage, simpleMessage.getAllRecipients());
    } catch (MessagingException e) {
        e.printStackTrace();
        // TODO LOG 
    }finally{
        try {
            t.close();
        } catch (MessagingException e) {
            // TODO LOG 
        }
    }
}

问候。

4

3 回答 3

3

Domino 服务器上的 SMTP 很可能已设置为仅允许某些主机进行中继 - 因此出现错误消息554 Relay rejected for policy reasons

您应该与管理员交谈并让他更改配置以允许其他主机中继。这是在 Router/SMTP -> Restrictions and Controls -> SMTP Inbound Controls 部分的配置文档中配置的。有关 SMTP 入站中继控制的更多信息,请访问:http: //publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp ?topic=%2Fcom.ibm.help.domino.admin.doc%2FDOC% 2FH_SETTING_INBOUND_RELAY_CONTROLS_STEPS.html

于 2012-08-08T14:38:06.690 回答
0

我有同样的问题并解决了。FROM部分是“me@example.com”,改成“myname@mydomain.com”,开始发送

于 2013-06-17T14:11:27.790 回答
0

可能需要安全连接(SSL),使用以下属性连接支持 smtp 协议的邮件服务器:

    properties.put("mail.smtp.socketFactory.port", "SMTP_PORT");
    properties.put("mail.smtp.host", "SMTP_SERVER_HOST_NAME_OR_IP");
    properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    properties.put("mail.smtp.socketFactory.fallback", "false");
于 2014-02-01T08:34:04.733 回答