System.Net.Mail с помощью Gmail Smtp от адреса всегда мое
Я думаю, что Gmail переписывает адрес from и использует учетную запись, указанную в сетевых учетных данных для from.
MailMessage message = new MailMessage();
message.From = new MailAddress("jimmy@gmail.com");
message.To.Add(new MailAddress("myacct@gmail.com"));
message.Subject = "[Yep] Contact Form";
message.Body = msg;
message.IsBodyHtml = false;
SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = false;
NetworkCredential networkCredentials = new NetworkCredential("myacct@gmail.com", "pass");
client.Credentials = networkCredentials;
client.EnableSsl = true;
client.Host = "smtp.gmail.com";
client.Port = 587;
try
{
client.Send(message);
Это полученное письмо:
От: myacct@gmail.com Кому: myacct@gmail.com Дата: Вс, 23 сентября 2012 г. 14:44:54 -0700 (PDT) Тема: [Да] Форма контакта Тип контента: текст / обычный текст; charset=us-ascii Content-Transfer-Encoding: цитируемый для печати
Это тест
Я знаю, что это используется для работы, но теперь от всегда мое. Могу ли я получить подтверждение, если у всех есть эта проблема или это только у меня?
3 ответа
GMail (и многие другие провайдеры электронной почты) не позволят вам изменить заголовок FROM. Это позволило бы подделку электронной почты.
Dim attachmentFile As String = Nothing If FileUpload1.HasFile Then
Try
FileUpload1.SaveAs("C:\files\" + FileUpload1.FileName)
attachmentFile = FileUpload1.PostedFile.FileName
Catch ex As Exception
litStatus.Text = "File Upload Failed !! " + ex.Message.ToString()
End Try
Try
Dim mail As New MailMessage()
Dim SmtpServer As New SmtpClient("smtp.gmail.com")
mail.From = New MailAddress("your-gamila-ddress@gmail.com")
'you have to provide your gmail address as from address'
mail.[To].Add(txtTo.Text)
mail.Subject = txtSubject.Text
mail.Body = txtBody.Text
Dim attachment As System.Net.Mail.Attachment
attachment = New System.Net.Mail.Attachment(attachmentFile)
mail.Attachments.Add(attachment)
SmtpServer.Port = 587
SmtpServer.Credentials = New System.Net.NetworkCredential("gamil-username", "gmail-passowrd")
'you have to provide you gamil username and password'
SmtpServer.EnableSsl = True
SmtpServer.Send(mail)
litStatus.Text = "Email successfully sent."
Catch ex As Exception
litStatus.Text = "Mail Send Failed ! " + ex.Message.ToString()
End Try
Else
litStatus.Text = "Please select a file for uploading"
End If
Чтобы достичь этого результата, вам нужно будет выбрать собственного почтового провайдера, такого как godaddy, или купить бизнес-подписку в gmail.
Вы также можете сослаться на отправку почты из службы Windows Azure, используя Godaddy SMTP