0

Lotus サーバーでいくつかの問題に直面しています。サーバーを担当している担当者は、構成は問題ないと言っていますが、彼の Lotus サーバーで HTML 本文のメールを送信できません。

表示されるエラーは次のとおりです:「ポリシー上の理由により、554 リレーが拒否されました。」</p>

自分の PC で試してみたところ、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

管理者に相談して、他のホストによる中継を許可するように構成を変更してもらう必要があります。これは、ルーター/SMTP -> 制限と制御 -> SMTP インバウンド制御セクションの構成文書で構成されます。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

セキュア接続 (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 に答える
0

私は同じ問題を抱えていて、それを解決しました。FROM部分が「me@example.com」だったのを「myname@mydomain.com」に変更して送信開始

于 2013-06-17T14:11:27.790 に答える