c#e-mail 'を'アドレスからユーザーが提供するものに変更する

StackOverflow https://stackoverflow.com/questions/2745570

  •  02-10-2019
  •  | 
  •  

質問

ユーザーがシステムから電子メールを送信できるアプリがあります。ユーザーが電子メールアドレスを指定することができ、電子メールの出発点として使用するいくつかの標準テンプレートを提供します。

電子メールを送信するとき、彼らが提供したアドレスを「返信」として使用しますが、「from」の電子メールのアドレス(当然)はシステムのように見えます( 'submit@ourserver.com'から) 。

スパムフィルターや自動ブロッキングに巻き込まれずにこれを変更する方法はありますか?受け取った電子メールを実際に作成した人については、受信者を混同しないことを好みません。

役に立ちましたか?

解決 3

OPSの人々と話し合い、Atomitonの方法を試した後、これは実際には不可能であることがわかりました。

他のヒント

ジェフ・アトウッドの紹介をします コーディングホラー プログラムの送信に関する記事。それは、あなたの電子メールがスパムフィルターなどに巻き込まれないようにするためにあなたが取るべきステップを長さで説明します...

ジェフ・アトウッドのコーディングホラー:それで(コードを介して)メールを送信したい

このコードを使用します:

public static bool sendEmail(string fromName, string fromEmail, string body, string subject, string toEmail) {

    String strReplyTo = fromEmail.Trim();
    String strTo = toEmail;
    String msgBodyTop = "Email from: " + @fromName + "(" + @fromEmail + ")\n"
            + "" + " " + DateTime.Now.ToLongTimeString()
            + " FROM " + HttpContext.Current.Request.Url.ToString + " : \n\n"
            + "---\n";

    MailMessage theMail = new MailMessage(fromEmail, strTo, subject, msgBodyTop + body);

    theMail.From = new MailAddress(strReplyTo, fromName);

    SmtpClient theClient = new SmtpClient(ConfigurationManager.AppSettings["SMTP"].ToString());

    theClient.Send(theMail);

    return true;
}

それは私のために働いているようです...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top