Я понимаю, что это ответ на очень старый вопрос с множеством других хороших ответов. Я публикую этот код, чтобы включить некоторые полезные комментарии, опубликованные другими пользователями, такие как Использование операторов и более новые методы, где некоторые ответы имеют устаревшие методы. Этот код был протестирован и работает по состоянию на 11 июля 2018 года.
При отправке через учетную запись GMail убедитесь, что Разрешить менее безопасные приложения включено с панели управления
Код класса C #:
public class Email
{
public void NewHeadlessEmail(string fromEmail, string password, string toAddress, string subject, string body)
{
using (System.Net.Mail.MailMessage myMail = new System.Net.Mail.MailMessage())
{
myMail.From = new MailAddress(fromEmail);
myMail.To.Add(toAddress);
myMail.Subject = subject;
myMail.IsBodyHtml = true;
myMail.Body = body;
using (System.Net.Mail.SmtpClient s = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587))
{
s.DeliveryMethod = SmtpDeliveryMethod.Network;
s.UseDefaultCredentials = false;
s.Credentials = new System.Net.NetworkCredential(myMail.From.ToString(), password);
s.EnableSsl = true;
s.Send(myMail);
}
}
}
}
Код класса VB:
Public Class Email
Sub NewHeadlessEmail(fromEmail As String, password As String, toAddress As String, subject As String, body As String)
Using myMail As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()
myMail.From = New MailAddress(fromEmail)
myMail.To.Add(toAddress)
myMail.Subject = subject
myMail.IsBodyHtml = True
myMail.Body = body
Using s As New Net.Mail.SmtpClient("smtp.gmail.com", 587)
s.DeliveryMethod = SmtpDeliveryMethod.Network
s.UseDefaultCredentials = False
s.Credentials = New Net.NetworkCredential(myMail.From.ToString(), password)
s.EnableSsl = True
s.Send(myMail)
End Using
End Using
End Sub
End Class
Использование C #:
{
Email em = new Email();
em.NewHeadlessEmail("myemail@gmail.com", "password", "recipient@email.com", "Subject Text", "Body Text");
}
Использование VB:
Dim em As New Email
em.NewHeadlessEmail("myemail@gmail.com", "password", "recipient@email.com", "Subject Text", "Body Text")