次のコードを使用して、Gmailアカウントを使用するWebアプリケーションからメールを送信しました。私の質問は、送信者アドレスを元の送信者(gmail)アドレス以外の別のアドレスに変更できるかどうかです。私のコードは次のとおりです:
_System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
System.Net.NetworkCredential cred = new System.Net.NetworkCredential("[email protected]", "*******");
_
いつも_[email protected]
_からメールを受け取るので、何をしても役に立たない。変更は可能ですか?
mail.From = new System.Net.Mail.MailAddress("[email protected]");
に変更しましたが、新しい「From」アドレスからではなく、fromアドレス_[email protected]
_のメールを受信しました。 gmail smtpは、fromアドレスを元の認証情報で上書きすると思います。
Gmailでは、FROMをGmailアカウントとは異なるものに変更することはできません。
リレーする前に、何を使用してもかまいません。上書きされます。これにより、スパム/なりすましが防止されます。
これが解決策です:
これは私のために働く
はい MailMessage の From プロパティを使用するだけです
例えば。
mail.From = "[email protected]";
[〜#〜] edit [〜#〜]:また、C#でGmailを介してメールを送信する方法の詳細については、この投稿を参照してください
EDIT:これはメールでは一般的に機能しますが、Googleが送信前に上書きするため、Gmailでは機能しないようです(@Dave wantaの回答を参照) )
送信者の数が限られている場合は、@ philipの提案どおりに実行できます。たとえば、[email protected]
、[email protected]
および[email protected]
、さらには[email protected]
が存在する場合があります。彼らが実際のgmail.com
Webサイトで承認されている送信者である限り、それらから送信できます。
任意のユーザー(ユーザーがメールを入力し、直接メールを送信したくない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