2

WinXPマシン(IIS 5.1)で開発および単体テストされたWebアプリプロジェクトがあります。Win2003Server(IIS 6.0)に公開されています。アプリの機能の1つは、「Reply-To」ヘッダー付きのメールを送信します(スニペットが続きます)。IIS 5.1マシンでは、Reply-Toがヘッダーに正しく表示されます。IIS 6.0 PCから送信される場合、ヘッダーには返信先アドレスが含まれていません(以下を参照)。

    Public Shared Sub SendEmail_withReplyTo(ByVal emailfrom As String, _
                                        ByVal emailto As String, _
                                        ByVal vbody As String, _
                                        ByVal vsubject As String, _
                                        ByVal msgcc As String, _
                                        ByVal msgbcc As String, _
                                        ByVal sReplyTo As String)
    Dim MyMsg As New MailMessage
    ErrorTrap.ErrorMsg = Nothing
    With MyMsg
        .From = New MailAddress(emailfrom)
        .Headers.Add("Reply-To", sReplyTo)
        .To.Add(emailto)
        If msgcc.Length > 0 Then
            .CC.Add(msgcc)
        End If
        If msgbcc.Length > 0 Then
            .Bcc.Add(msgbcc)
        End If
        .Subject = vsubject
        .IsBodyHtml = True
        .Body = vbody
    End With
    Try
        Dim smtp As New SmtpClient
        smtp.Send(MyMsg)
    Catch ex As Exception
        ErrorTrap.ErrorMsg = Nothing
        ErrorTrap.ErrorMsg = ex.ToString
    End Try
End Sub

次のインターネットヘッダーは、MS Outlook2003から貼り付けられています-表示-オプション:

JOHNXPマシン(IIS 5.1を搭載した開発用PC)から送信された有効な返信先:

Return-path: <Service@zipeee.com>
Received: from JohnXP (unverified [10.10.30.66]) by mail.cbmiweb.com
(Rockliffe SMTPRA 9.2.0) with ESMTP id <B0003406093@mail.cbmiweb.com>;
Mon, 28 Jun 2010 15:16:25 -0400
Message-ID: <B0003406093@mail.cbmiweb.com>
Reply-To: terriadams@cox.net
MIME-Version: 1.0
From: Service@ZIPeee.com
To: johna@cbmiweb.com
Date: 28 Jun 2010 15:17:57 -0400
Subject: Regarding your Ad #153949: Yard sale in vienna va June 12 at 8am
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: quoted-printable

MOJITOマシン(IIS 6.0を搭載した2003サーバー)から送信された返信先がありません:

Return-path: <Service@zipeee.com>
Received: from MOJITO (unverified [10.10.30.14]) by mail.cbmiweb.com
(Rockliffe SMTPRA 9.2.0) with ESMTP id <B0003405883@mail.cbmiweb.com>;
Mon, 28 Jun 2010 13:37:53 -0400
Message-ID: <B0003405883@mail.cbmiweb.com>
MIME-Version: 1.0
From: Service@ZIPeee.com
To: johna@cbmiweb.com
Date: 28 Jun 2010 13:39:25 -0400
Subject: Regarding your Ad #153949: Yard sale in vienna va June 12 at 8am
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: quoted-printable

Win2003マシンでVStudio2008をセットアップし、上記のコード内のブレークポイントで停止して、ヘッダーに「Reply-To」が追加されたメールメッセージが実際に正しく作成されていることを確認しました(そうです)。ただし、Outlookに到着すると、MOJITOサーバーから発信されたメッセージのヘッダーに「Reply-To」がありません。

実際のコードが行おうとしていることを妨げる他の構成の問題はありますか?

4

1 に答える 1

5

これを修正するために変更したものは次のとおりです。

Dim MyMsg As New MailMessage
With MyMsg
        .From = New MailAddress(emailfrom)
        .ReplyTo = New MailAddress(sReplyTo)    'new code that fixed the problem
        '.Headers.Add("Reply-To", sReplyTo)     'old code that works on WinXP IIS 5.1 

Scott Mitchellによるこのすばらしい記事から、この代替コーディングアプローチを発見しました。

「ASP.NET2.0での電子メールの送信:返信先、優先度、および開封確認」

どちらの方法でも機能するようですが、次に進みましょう。

于 2010-06-29T21:51:42.530 に答える