2012-06-09 4 views
0
   SmtpClient smtpClient = new SmtpClient("smtp.gmail.com"); 
       smtpClient.Credentials = new NetworkCredential("[email protected]", "password"); 
       smtpClient.Port = 587; 
       smtpClient.EnableSsl = true; 

       MailMessage mail = new MailMessage(); 
       //mail.From = new MailAddress("[email protected]"); 
       mail.To.Add("[email protected]"); 
       mail.Subject = "Test mail"; 
       mail.Body = "This is test mail, with test content"; 
       smtpClient.Send(mail); 

В приведенном выше коде, почему mail.From является обязательным? даже я указал идентификатор почты в smtpClient.Credentials.использование MailMessage.From в Dotnet

Даже я указал mail.From с каким почтовым идентификатором, приемник не получает почту от этого почты, вместо того, чтобы получать от [email protected], которые я указал в smtpClient.Credentials.

ответ

1

От должно быть адрес, откуда была отправлена ​​почта. Это может отличаться от ваших учетных данных Smtp. Некоторые серверы позволят вам иметь имя пользователя, отличное от вашего почтового адреса.

Gmail показывает адрес электронной почты, откуда он получил почту. Они делают это, чтобы пользователи не ошибались, получая почту от кого-то, кто ее действительно не отправил. Не все почтовые клиенты делают это.

Вы не можете подделывать адрес от gmail. Они всегда будут показывать, откуда они получили электронную почту.

Смежные вопросы