Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 来自vs凭据的邮件消息_C#_Asp.net_Email - Fatal编程技术网

C# 来自vs凭据的邮件消息

C# 来自vs凭据的邮件消息,c#,asp.net,email,C#,Asp.net,Email,我试图了解System.Net.Mail库中如何使用From address 为了便于论证,我将以谷歌为例。下面是我用来发送电子邮件的代码 var message = new MailMessage(); message.To.Add(new MailAddress("john.doe@gmail.com")); // replace with valid value message.From = new MailAddress("test@gmail.com"); // replace

我试图了解System.Net.Mail库中如何使用From address

为了便于论证,我将以谷歌为例。下面是我用来发送电子邮件的代码

var message = new MailMessage();
message.To.Add(new MailAddress("john.doe@gmail.com"));  // replace with valid value 
message.From = new MailAddress("test@gmail.com");  // replace with valid value
message.Subject = "Testing ASP.NET Email system";
message.Body = "This is my test email";
message.IsBodyHtml = true;

using (var smtp = new SmtpClient())
{
      var credential = new NetworkCredential
      {
           UserName = "test@gmail.com",  // replace with valid value
           Password = "abc123"  // replace with valid value
      };
      smtp.Credentials = credential;
      smtp.Host = "smtp.gmail.com";
      smtp.Port = 587;
      smtp.EnableSsl = true;
      await smtp.SendMailAsync(message);
}
我试图理解的是,为什么我需要从地址开始设置,以及它的意义是什么。发送电子邮件时,您登录时使用的电子邮件凭据是否应该是来自电子邮件的凭据?这是否意味着我可以作为用户登录test@gmail.com但当recepient收到电子邮件时,它会说john@gmail.com如果我把约翰作为第一份


这到底是如何工作的?

From就是您的电子邮件客户端显示From电子邮件的方式。只要它与实际邮件服务器位于同一(子)域中,大多数客户端都会允许它,否则您可能会收到如下警告:

您可以发送指定发件人地址的原因是,邮件服务器不一定像托管提供商(gmail、hotmail等)那样拥有“帐户”。
@
前面的说明符只是收件箱的一种组织方式。对于发出的邮件,从技术角度来看,这不是必需的,因为实际的发件人是您的邮件服务器,而不是您的收件箱

公共邮件服务器最有可能防止您恶意欺骗地址(即,
dan@gmail.com
如果尝试从
rob@gmail.com
)但我不确定这方面的细节

例如,下面是我收到的一封电子邮件中的一个片段:

收到:来自mta.email.auspest.com.au(mta.email.auspest.com.au.
[207.67.38.247]),通过mx.google.com使用ESMTP id
qg3si8833298pbb.100.2015.11.18.19.17.54

收到:通过mta.email.auspest.com.au id h9kvm4163hs8接收
; 2015年11月18日星期三21:01:47-0600(信封从
)
发件人:“澳大利亚邮政”

(gmail示例。来源: )