2012-03-06 16 views
0

まずはご挨拶!Java MailとPostfixを使ったVERP、どのように?

私は約Javax.mail APIを使用してJavaでカスタムニュースレターアプリケーションを開発しようとしています。 私は、バウンスを追跡するために、Verpテクニックを開発する必要があります。

これまでのところ、私はを無効にしました。javax.mail.internet.MimeMessage自分のメールヘッダーを処理するだけです。

class CustomMailMessage extends MimeMessage 
... 
public void setCustomHeader(key, value) 
{ 
    setHeader(key, value); 
    updateHeaders(); 
} 
... 

だから、これは私がリターンパスを除いて設定された任意のヘッダで動作するようです。

... 
setCustomHeader("Return-Path",verpAddr); 
... 

VERPが失敗しました。電話の前後にこのヘッダーの値を追跡しています

... 
Transport.send(message); 
... 

これは設定した値と同じようです。しかし、受信メールでは、返信パスが送信者アドレス(From :)に変更されます。残りのヘッダーと異なり、ヘッダーは設定されています。したがって、バウンス通知は私のバウンス[email protected]ではなく、送信者に配信されます。

私はこの失敗がpostfixサイトにあると思います。

サーバはPleskによって設定され、私のdomain.comは私のサーバで共有されていることに注意してください。

だから私を助けてくれる人を喜んでください。あるいは、私は、Verpのテクニックを違う方法で実現する方法について、より多くの情報を提供することができます。

Thx in Advance &乾杯!

答えて

2

Return-Pathヘッダーは、送信者ではなく受信者によって設定されます。

"封筒から"アドレスを設定します。設定するプロパティについてはjavadocs for the com.sun.mail.smtp packageを参照し、この情報を設定する別の方法としてSMTPMessageクラスを参照してください。

MimeMessageをサブクラス化してカスタムヘッダーを設定する必要はありません。 setHeaderメソッドを直接呼び出すことができ、メッセージが送信される前にupdateHeadersが呼び出されます。 (とにかくupdateHeadersはこれらのカスタムヘッダーを何もしません。)

関連する問題