2016-05-15 13 views
0

メールサーバーが返す私は複数の受信者にメールを送信このエラー:複数のヘッダーの問題

リモートサーバー返さ「mx.spamexperts.comは#5.0.0 SMTP; 550メッセージにはToヘッダーが1つまたは5つあり、ヘッダーは5つではありません。

JavaMailのaddRecipientメソッドを複数回使用すると発生します。代わりにsetRecipientを電子メールアドレスの配列で使用すると動作します。

これは、​​クラスのaddHeaderメソッドの結果です。ここでは、この問題の原因となるコードの一部は次のとおりです。

for (int i = headers.size() - 1; i >= 0; i--) { 
    InternetHeader h = (InternetHeader)headers.get(i); 
    if (name.equalsIgnoreCase(h.getName())) { 
    if (addReverse) { 
     pos = i; 
    } else { 
     headers.add(i + 1, new InternetHeader(name, value)); 
     return; 
    } 
    } 
    // marker for default place to add new headers 
    if (h.getName().equals(":")) 
    pos = i; 
} 

は、あなたはそれについてどう思いますか?何らかのメールサーバーがそれを受け入れない場合、addRecipientを使用するたびにJavaMailが新しいToヘッダーを追加するのはなぜですか?

答えて

0

非常に古いバージョンのJavaMailを使用している必要があります。これは5年以上前にJavaMail 1.4.4で修正されました。 current version is 1.5.5

+0

まあ、そうですよ!私は使用しているJavaMailのバージョンについても考えていませんでした...確かに1.4.1、非常に古いものでした...ありがとう! – mfalaize