0

私は小さなメーリングリストマネージャーでこのphpクラスを使用しています。メールを送信するには、hotmailメールとsmtp.live.comを使用しています。正常に動作しますが、返送されたメールが届くので、管理しやすい別のアドレスで受信したいと思いました。Return-Pathヘッダーを使用してみましたが、hotmailはそれを無視し、バウンスを「from」アドレスに送信しているようです。また、クラスがdsnを「無効にする」ために「NOTIFY = NEVERORCPT = rfc822」を送信していることにも気づきましたが、hotmailもそれを無視しているようです。

phpクラスによって出力されるSMTPトランザクションは、次のようになります。

Resolving SMTP server domain "smtp.live.com"...
Connecting to host address "65.55.96.11" port 587...
Connected to SMTP server "smtp.live.com".
S 220 BLU0-SMTP333.blu0.hotmail.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.4675 ready at Sat, 20 Oct 2012 06:51:46 -0700
C EHLO 192.168.1.1
S 250-BLU0-SMTP333.blu0.hotmail.com Hello [1.2.3.4]
S 250-TURN
S 250-SIZE 44242340
S 250-ETRN
S 250-PIPELINING
S 250-DSN
S 250-ENHANCEDSTATUSCODES
S 250-8bitmime
S 250-BINARYMIME
S 250-CHUNKING
S 250-VRFY
S 250-TLS
S 250-STARTTLS
S 250 OK
C STARTTLS
S 220 2.0.0 SMTP server ready
Starting TLS cryptograpic protocol
TLS started
C EHLO 192.168.1.1
S 250-BLU0-SMTP366.blu0.hotmail.com Hello [1.2.3.4]
S 250-TURN
S 250-SIZE 44242340
S 250-ETRN
S 250-PIPELINING
S 250-DSN
S 250-ENHANCEDSTATUSCODES
S 250-8bitmime
S 250-BINARYMIME
S 250-CHUNKING
S 250-VRFY
S 250-AUTH LOGIN PLAIN
S 250 OK
C AUTH LOGIN
S 334 DXdlcm3hfW36
C ZW1haWwxQGhvdG1haWwuY29t
S 334 UDCzd5dvdmQe
C MTIzNDU2
S 235 2.7.0 Authentication succeeded
C MAIL FROM:<email19@hotmail.com>
C RCPT TO:<email-that-bounces@hotmail.com> NOTIFY=NEVER ORCPT=rfc822;email-that-bounces
C DATA
S 250 2.1.0 email1@hotmail.com....Sender OK
S 250 2.1.5 email-that-bounces@hotmail.com
S 354 Start mail input; end with <CRLF>.<CRLF>
C From: email1@hotmail.com
To: email-that-bounces@hotmail.com
Return-Path: <otheremail@myserver.com>
Content-Type: multipart/alternative; boundary="fd9c131c7e7f727fd34567b8a131218a52114gha"
Subject: subject
Date: Sat, 20 Oct 2012 15:51:45 CEST
MIME-Version: 1.0


C --fd9c131c7e7f727fd34567b8a131218a52114gha
Content-Type: text/plain; charset="ISO-8859-1
Content-Transfer-Encoding: 7bit

email message

--fd9c131c7e7f727fd34567b8a131218a52114gha
Content-Type: text/html; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

email message

--aa9c111c7e7f727bf74367b8a131918a36314dba--
C
.
S 250 2.6.0 <BLU0-SMTP43555fdccc0ecf4@BLU0-SMTP333.blu0.hotmail.com> Queued mail for delivery
C QUIT
S 221 2.0.0 BLU0-SMTP333.blu0.hotmail.com Service closing transmission channel
Disconnected.

これは私が電子メールを送る方法です:

$smtp->SendMessage(
    $from, array( $to ),

    array(
        "From: $from",
        "To: $to",
        "Return-Path: <otheremail@myserver.com>",
        'Content-Type: multipart/alternative;   boundary="'.$boundary.'"',
        "Subject: $subject",
        "Date: ".strftime("%a, %d %b %Y %H:%M:%S %Z"),
        "MIME-Version: 1.0"
), "$body");

hotmailにログインして「送信済み」フォルダを確認すると、送信された電子メールにリターンパスヘッダーが含まれていません。

送信するヘッダーに問題がありますか、またはhotmailがreturn-pathをサポートしていません

4

2 に答える 2

1

Return-Path は、実際には電子メールの一部ではなく、SMTP エンベロープの一部です。つまり、他のメール ヘッダーとして追加することはできません。

代わりに、Return-Path は SMTP トランザクションから派生します。具体的には、ここで Return-Path が設定されます。

MAIL FROM:<email19@hotmail.com>
于 2012-10-20T14:28:41.180 に答える
0

\r\nコードの行末として使用していないようです。追加して再確認する必要があります。それらのキャラクターが不足しているため、多くの報告や奇妙な行動が報告されています

Hotmailはreturn-pathをサポートしていますが、ヘッダーとテストメールがジャンクフォルダにあることを何度か忘れてしまいました。追加するとすぐに、メッセージは受信トレイに直接送信されました。

于 2012-10-20T14:42:27.560 に答える