javaMail与Lotus服务器

javaMail与Lotus服务器,java,jakarta-mail,lotus-domino,Java,Jakarta Mail,Lotus Domino,我在LotusServer上遇到了一些问题。 负责服务器的家伙告诉我,配置还可以,但我不能用他的lotus服务器发送带有html正文的邮件 我得到的错误是:“由于政策原因,554中继被拒绝。” 当我在我的电脑上试用时,我使用smpt.gmail.com,工作起来像个冠军。因此,我认为这不是代码问题,问题在于服务器配置 javaMail和Lotus有问题吗?这是一个普遍的问题吗?(在一个博客中,有人说不可能发送html,但我不敢相信) 我的代码只是以防万一 public void sendEmai

我在LotusServer上遇到了一些问题。 负责服务器的家伙告诉我,配置还可以,但我不能用他的lotus服务器发送带有html正文的邮件

我得到的错误是:“由于政策原因,554中继被拒绝。”

当我在我的电脑上试用时,我使用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 
        }
    }
}

注意。

Domino服务器上的SMTP很可能已设置为仅允许某些主机进行中继-因此错误消息
554 relay因策略原因被拒绝

您应该与管理员交谈,让他更改配置以允许其他主机进行中继。这是在路由器/SMTP->限制和控制->SMTP入站控制部分的配置文档中配置的。有关SMTP入站中继控件的详细信息,请参见:

Domino服务器上的SMTP很可能已设置为仅允许某些主机进行中继-因此错误消息
554 relay因策略原因被拒绝

您应该与管理员交谈,让他更改配置以允许其他主机进行中继。这是在路由器/SMTP->限制和控制->SMTP入站控制部分的配置文档中配置的。有关SMTP入站中继控件的详细信息,请参见:

我遇到了同样的问题并解决了它。“来自”部分是“me@example.com“并将其更改为”myname@mydomain.com“它开始发送

我遇到了同样的问题,并解决了它。“来自”部分是“me@example.com“并将其更改为”myname@mydomain.com并且它开始发送

可能需要安全连接(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");

可能需要安全连接(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");

您是否尝试过将Domino SMTP服务器与常规邮件客户端(例如thunderbird)一起使用<代码>由于策略原因而被拒绝的消息
可能或多或少意味着什么,可能是配置错误,也可能是故意设置的。首先,必须使用lotus server。这是我第一次这样做,如果你能给我一些关于dominio SMTP的网页,那就好了。你能在发送邮件时阅读Domino服务器控制台和/或服务器吗?这可能会给出更详细的错误消息。您是否尝试过将Domino SMTP服务器与常规邮件客户端(例如thunderbird)一起使用<代码>由于策略原因而被拒绝的消息
可能或多或少意味着什么,可能是配置错误,也可能是故意设置的。首先,必须使用lotus server。这是我第一次这样做,如果你能给我一些关于dominio SMTP的网页,那就好了。你能在发送邮件时阅读Domino服务器控制台和/或服务器吗?这可能会给出更详细的错误消息。中继是允许的。Atm我们可以通过telnet发送邮件,但仍然存在同样的问题。正如亨里克已经解释的那样,554肯定是一条服务器错误消息。尝试从运行代码的计算机上通过Telnet发送,并使用代码将使用的发件人和收件人。同意。这肯定是一个服务器配置问题。它拒绝接力。当您通过telnet连接时,您是否发送到相同的toEmailAddr?您是否从运行Java代码的同一台计算机连接?还有一个问题:您是否在telnet会话中使用AUTH登录?另外,主机是IP地址还是DNS名称?如果它是DNS名称,并且您的服务器有多个IP地址,您确定它正在解析为内部网络IP地址而不是外部地址吗?此外,您应该要求服务器管理员在服务器上启用SMTPDebug=3和SMTPDebugIO=4进行测试,这样,您就可以观看SMTP对话并准确地查看Java代码发送的内容。然后将其与telnet测试中看到的内容进行比较。以下是有关这些设置信息的链接:注意:您应该在测试期间短暂打开这些设置,然后禁用它们。继电器是允许的。Atm我们可以通过telnet发送邮件,但仍然存在同样的问题。正如亨里克已经解释的那样,554肯定是一条服务器错误消息。尝试从运行代码的计算机上通过Telnet发送,并使用代码将使用的发件人和收件人。同意。这肯定是一个服务器配置问题。它拒绝接力。当您通过telnet连接时,您是否发送到相同的toEmailAddr?您是否从运行Java代码的同一台计算机连接?还有一个问题:您是否在telnet会话中使用AUTH登录?另外,主机是IP地址还是DNS名称?如果它是DNS名称,并且您的服务器有多个IP地址,您确定它正在解析为内部网络IP地址而不是外部地址吗?此外,您应该要求服务器管理员在服务器上启用SMTPDebug=3和SMTPDebugIO=4进行测试,这样,您就可以观看SMTP对话并准确地查看Java代码发送的内容。然后将其与telnet测试中看到的内容进行比较。以下是有关这些设置信息的链接:注意:您应该在测试期间短暂打开这些设置,然后禁用它们。