Место общения программистов C#
-
Anonymous
Отправка электронной почты через Gmail SMTP с использованием .NET Core
Сообщение
Anonymous »
Я не могу отправить электронное письмо в .NET Core с помощью SMTP-сервера Gmail.
Мой класс:
Код: Выделить всё
public class Sender
{
private Setting _setting;
public Sender(Setting setting)
{
_setting = setting;
}
public void Send(string receiverAddress, string message) => Send(new MailAddress(receiverAddress), message);
public void Send(MailAddress receiverAddress, string message)
{
using(MailMessage mail = new MailMessage())
{
MailAddress senderAddress = new MailAddress(_setting.SenderAddress);
mail.From = senderAddress;
mail.To.Add(receiverAddress);
mail.Subject = "Integration Test";
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.Body = "Hello, World!";
mail.BodyEncoding = System.Text.Encoding.UTF8;
using(SmtpClient smtpClient = new SmtpClient(_setting.SmtpServer, _setting.SmtpPort)){
smtpClient.EnableSsl = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
// smtpClient.UseDefaultCredentials= false;
smtpClient.Credentials = new NetworkCredential(_setting.SenderAddress, _setting.Password);
smtpClient.Timeout = 20000;
smtpClient.Send(mail);
}
}
}
}
Мой тест
Код: Выделить всё
[Test]
public void SendEmailGmail()
{
Setting setting = new Setting();
setting.SmtpServer = "smtp.google.com";
setting.SmtpPort = 587; // also tried 465
setting.SenderAddress = "my@googlemail.com";
setting.Username = "Display Name";
setting.Password = "GoogleGeneratedAppPassword";
Sender sender = new Sender(setting);
sender.Send("i@dont.tell", "Hello, World!");
}
Когда я выполняю тест, он не завершается. Оно даже превышает тайм-аут в 20 секунд.
Подробнее здесь:
https://stackoverflow.com/questions/738 ... g-net-core
1737153917
Anonymous
Я не могу отправить электронное письмо в .NET Core с помощью SMTP-сервера Gmail.
Мой класс:
[code]public class Sender
{
private Setting _setting;
public Sender(Setting setting)
{
_setting = setting;
}
public void Send(string receiverAddress, string message) => Send(new MailAddress(receiverAddress), message);
public void Send(MailAddress receiverAddress, string message)
{
using(MailMessage mail = new MailMessage())
{
MailAddress senderAddress = new MailAddress(_setting.SenderAddress);
mail.From = senderAddress;
mail.To.Add(receiverAddress);
mail.Subject = "Integration Test";
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.Body = "Hello, World!";
mail.BodyEncoding = System.Text.Encoding.UTF8;
using(SmtpClient smtpClient = new SmtpClient(_setting.SmtpServer, _setting.SmtpPort)){
smtpClient.EnableSsl = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
// smtpClient.UseDefaultCredentials= false;
smtpClient.Credentials = new NetworkCredential(_setting.SenderAddress, _setting.Password);
smtpClient.Timeout = 20000;
smtpClient.Send(mail);
}
}
}
}
[/code]
Мой тест
[code][Test]
public void SendEmailGmail()
{
Setting setting = new Setting();
setting.SmtpServer = "smtp.google.com";
setting.SmtpPort = 587; // also tried 465
setting.SenderAddress = "my@googlemail.com";
setting.Username = "Display Name";
setting.Password = "GoogleGeneratedAppPassword";
Sender sender = new Sender(setting);
sender.Send("i@dont.tell", "Hello, World!");
}
[/code]
Когда я выполняю тест, он не завершается. Оно даже превышает тайм-аут в 20 секунд.
Подробнее здесь: [url]https://stackoverflow.com/questions/73844003/sending-an-email-via-gmail-smtp-using-net-core[/url]