0

私は物件リストサイトを運営しており、現在、各物件の連絡フォームを準備しています。

私のクライアントは専用メールボックスからの電子メールを解析するチケットシステムも使用しているため、システムがそれを受け取るために専用メールボックスに電子メールを送信するように連絡フォームを構成する必要があります。ASP C#を使用しています。

お問い合わせフォームの「差出人」アドレスをフォームの送信者のメールアドレスに変更する際にサポートが必要です。コードは次のとおりです。

これは私のaspx.csです

protected void SendMail()
{
    var fromAddress = "email@domain.com";
    var toAddress = "dedicatedmailbox@domain.com";
    const string fromPassword = "password";
    string subject = PropertyNameOnContact.Text.ToString();
    string body = "Subject: Online Enquiry for " + PropertyNameOnContact.Text + "\n";
    body += "Email: " + txtemail.Text + "\n";
    body += "From: " + txtname.Text + "\n";
    body += "Preferred contact Method: \n" + PreferredContact.Text + "\n";

    var smtp = new System.Net.Mail.SmtpClient();
    {
        smtp.Host = "smtp.gmail.com";
        smtp.Port = 587;
        smtp.EnableSsl = true;
        smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
        smtp.Credentials = new System.Net.NetworkCredential(fromAddress, fromPassword);
        smtp.Timeout = 20000;
    }

    smtp.Send(fromAddress, toAddress, subject, body);
}
4

2 に答える 2

2

このようなコンタクト フォームの場合、ユーザーが入力するアドレスは、差出人アドレスとして使用されるアドレスであってはなりません。返信先アドレスである必要があります。これは、受信メール サーバーが正しい検証を行えるようにするためです。

オブジェクトを作成することをお勧めします。MailMessageこれには、省略形SmtpClient.Sendにはないこれらすべてのパラメーターを設定できます。MailMessage.ReplyToListその上で、返信先のアドレスを に追加し、送信元アドレスを として追加できますMailMessage.From

このSmtpClient.Sendメソッドはオブジェクトも受け入れるMailMessageので、かなり簡単です。

MSDN の MailMessage オブジェクトは次のとおりです: http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.aspx

于 2013-02-05T10:30:50.860 に答える
1

ご存知のように、2 つの方法があります。既存のプロセスには影響しません。これを試してください

  • データベースから From Email-ID (fromAddress) を取得する
  • アプリケーション全体でアクセスできる Web 構成ファイルで From Email_ID (fromAddress) を構成します。

いつでも変更できます。C# ソース コードを変更せずに。

于 2013-02-05T11:08:26.463 に答える