7

次のコードを使用して、C#でgmail SMTPを使用してメールを送信しようとしています

MailMessage message = new MailMessage();
message.To.Add("my email");
message.Subject = "subject";
message.From = new MailAddress("any email");
message.Body = "body";

message.Attachments.Add(new System.Net.Mail.Attachment(path));
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential("my user", "my pass");

smtp.Send(message);

メールを受信すると、FROMフィールドに が入力されていmy userます。UseDefaultCredentialsとして使用していfalseます。結果を見ると、FROMフィールドは で埋められていmy userます。FROMフィールドに を入力するべきではありませんany emailか? 送信者として使用してメールを送信するにはどうすればよいany emailですか?

4

2 に答える 2

5

私はGMailをサービスとして使用してメールを送信するのとまったく同じ方法を採用しています。最初に.Fromプロパティを「noreply@mydomain.com」に設定しましたが、認証に使用されたアカウントに設定された From ヘッダーでメールが届きます。

この問題に直面して、私はReplyToListプロパティ ( .ReplyToList.Add(MailAddress))) を使用して、メッセージに返信する受信者が、送信メッセージの送信に使用する「自動化された」アカウント以外の電子メール アカウントに返信を送信するようにしました。

編集:

詳細については、Google グループのこのスレッドを参照してください。また、関連する Stack Overflow の回答

于 2012-10-08T17:11:38.720 に答える
4

コードスニペットを実行すると、次のようになります。

Return-Path: <my user>
Received: from Psi ([80.92.234.64])
        by mx.google.com with ESMTPS id f1sm20531634wiy.2.2012.10.08.10.07.49
        (version=TLSv1/SSLv3 cipher=OTHER);
        Mon, 08 Oct 2012 10:07:49 -0700 (PDT)
Message-ID: <50730865.2152b40a.13ea.28ec@mx.google.com>
Sender: Roman R. <my user>
MIME-Version: 1.0
From: any email
To: my email
Date: Mon, 08 Oct 2012 10:07:49 -0700 (PDT)
Subject: Subject
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable

Body

SenderGoogleMailでの認証に使用されるメールアドレスです。Fromコードで提供される「from」です。受信側のアプリケーションは2つを混同している可能性があり、残りは期待どおりに見えます。一部のメールクライアントは、From + Sender(異なる場合)を「Fromに代わってSenderによって送信された」ものとして表示します。

Senderあなたは、Google Mailがまだメールの送信元のアカウントをフィールドを通じて明らかにしているという事実に懸念を抱くかもしれませんが、これはそれがどのように機能するかです。このアカウントから送信します。

また、考えられるもう1つの理由は、Fromメールアドレス自体です。自分のアドレスの1つとしてGoogleMailアカウントに追加した場合(およびリンク付きのテストメールで確認した場合)、GoogleMailはそれをFromフィールドに配置することを許可します。そうしないと、ドロップして。に置き換えられる可能性がありSenderます。

于 2012-10-08T17:15:51.383 に答える