C#でGmailを介してメールを送信するときに送信者アドレスを変更する

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

質問

次のコードを使用して、Gmailアカウントを使用してWebアプリケーションからメールを送信しました。私の質問は、送信者アドレスを元の送信者(Gmail)アドレス以外の別のアドレスに変更できますか?私のコードは次のとおりです。

System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
System.Net.NetworkCredential cred = new System.Net.NetworkCredential("sample@gmail.com", "*******");

私がいつもメールを受け取るので、私がすることは何でも役に立たない sample@gmail.com. 。変更することは可能ですか?

私はに変わりました mail.From = new System.Net.Mail.MailAddress("sample@yahoo.com"); しかし、私はfromアドレスとともにメールを受け取りました sample@gmail.com 新しい「From」アドレスからではありません。 Gmail SMTPは、元の資格情報でFROMアドレスを上書きすると思います。

役に立ちましたか?

解決

Gmailでは、Gmailアカウントとは異なるものに変更することはできません。

あなたが何を使っているのかは関係ありません、彼らはそれを中継する前にそれを過剰に書きます。これにより、スパム/スプーフィングが防止されます。

他のヒント

これが解決策です:

  1. 上記のコードを使用してmail.from = new MailAddress(アドレス、表示名)を設定します
  2. Gmailで、メール設定>>アカウントとインポートに移動します。
  3. 「メールを送信する」で送信者として使用するメールアカウントを追加します。 (エイリアスとしてティック)

これは私のために働きます

はい、使用してください から のプロパティ MailMessage

例えば。

mail.From = "newemail@email.com";

編集: :また、C#のGmailを介してメールを送信する方法の詳細については、この投稿を参照してください

Gmailを介して.NETで電子メールを送信します

編集: これは一般的にメールで機能しますが、Googleが送信前に上書きするとGmailでは機能しないようです(@dave Wantaの回答を参照)

@Philipが提案したように、限られた数の送信者がいる場合は、できることができます。たとえば、持っているかもしれません customerservice@example.com, simon@example.comphilip@example.com あるいは alias@example.com. 。彼らが実際に承認された送信者である限り gmail.com あなたが彼らから送ることができるウェブサイト。

gmail.com:別のアドレスからメールを送信します

任意のユーザー(ユーザーが電子メールを入力するWebサイト上のカスタマーサービスフォームなど、直接メールを送信したくない)から送信することを期待している場合、これは次のとおりです。

        msg.ReplyToList.Add(new System.Net.Mail.MailAddress(email, friendlyName));

あなたが制御された環境にいる場合、これはうまく機能しますが、返信が指定されている場合でも、いくつかの電子メールクライアントが住所に送信されるのを見てきました(私はわかりません)。

#56と#58を確認してください。彼らはあなたがやりたいことに関連しているかもしれませんhttps://code.google.com/p/google-apps-script-issues/issues/detail?id=172

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