web-dev-qa-db-ja.com

web.configでsmtp設定を構成する方法

継承されたウェブサイトでのメールの問題を修正しようとしていますが、コード(つまり、コンパイルされたファイル)にアクセスできません。このサイトは、別のsmtpサーバーを持つ新しいWebサーバーでホストする必要があります。

コードの一部を逆コンパイルすると、以下のようなメソッドを使用してメールが送信され、smtpがsmtpMail.SmtpServer = "localhost"に設定されますが、新しいWebサーバーのsmtpサーバーは "relay.tagadab.com"ですlocalhostが「relay.tagadab.com」として取得されるように、web.configでこれ

 Imports Microsoft.VisualBasic, System.Web.Mail

Shared Sub SendMail(ByVal ToAdd, ByVal FromAdd, ByVal Message, ByVal Subject)

    Dim msgMail As New MailMessage()

    msgMail.To = ToAdd
    msgMail.From = FromAdd
    msgMail.Subject = Subject
    msgMail.Headers.Add("X-Mailer", "ASP.NET")

    msgMail.BodyFormat = MailFormat.Text
    msgMail.Body = Message
    'SmtpMail.SmtpServer = "mail.the-radiator.com"
    SmtpMail.SmtpServer = "localhost"
    SmtpMail.Send(msgMail)

End Sub

このセクションをweb.configに追加しましたが、違いはありません

 <system.net>
    <mailSettings>
        <smtp>
            <network Host="relay.tagadab.com" port="25" />
        </smtp>
     </mailSettings>
</system.net>
28
rumi

Web.Configファイル:

<configuration>
 <system.net>
        <mailSettings>
            <smtp from="[email protected]">
                <network Host="smtp.gmail.com" 
                 port="587" 
                 userName="[email protected]" 
                 password="yourpassword" 
                 enableSsl="true"/>
            </smtp>
        </mailSettings>
</system.net>
</configuration>
61
Sanjay kumar

ClintEastwoodに回答するのに十分な担当者がいないため、受け入れられた回答はWeb.configファイルに対して正しいものです。コードの違いのためにこれを追加します。

MailSettingsがWeb.configで設定されている場合、SmtpClientと.Sendを更新する以外に何もする必要はありません。参照する必要なく接続自体を見つけます。これからC#を変更します。

SmtpClient smtpClient = new SmtpClient("smtp.sender.you", Convert.ToInt32(587));
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("username", "password");
smtpClient.Credentials = credentials;
smtpClient.Send(msgMail);  

これに:

SmtpClient smtpClient = new SmtpClient();
smtpClient.Send(msgMail);
6
Eric Barker

IISを設定して、メールをリモートサーバーに転送します。詳細は、IISのバージョンによって大きく異なります。IIS 7.5:

  1. Open IIS Manager
  2. 必要に応じてサーバーに接続します
  3. サーバーノードを選択します。 ASP.NETセクションの右側にSMTPオプションが表示されます。
  4. SMTPアイコンをダブルクリックします。
  5. [電子メールをSMTPサーバーに配信する]オプションを選択し、サーバー名、資格情報などを入力します。
4
nunzabar