- Регистрация
- 23.04.2022
- Сообщения
- 3
- Благодарностей
- 3
- Баллы
- 3
Всех приветствую!
Столкнулся с одной проблемой, которую не могу решить уже сутки.
Ранее на форуме нашел C# сниппет для отправки почтовых сообщений, более года использовал его в своем проекте, всё работало корректно.
Но вчера ночью проект упал, экшн с кодом просто перестал отрабатываться, после 1-2 минут выполнения он просто уходит в ошибку. Использовал SMTP mail.ru
Первом делом пошел проверять почту, часть настроек слетела, пришлось заново генерировать ключ и включать разрешение на работу со сторонними приложения.
К моему сожалению, ошибка осталась.
Решил воспользоваться SMTP yandex.ru, ошибка осталась.
Код приложил ниже, он просто перестал работать, проект я не трогал более 3 месяцев, в код тем более не лез.
И сам вопрос, возможно, кто-то сталкивался с подобным и знает решение, в чем может быть дело?
Буду рад за помощь и подсказки.
Также запросил C# код у GPT, он отработал, но письмо не доходит до адресата, этот код тоже прикладываю.
Столкнулся с одной проблемой, которую не могу решить уже сутки.
Ранее на форуме нашел C# сниппет для отправки почтовых сообщений, более года использовал его в своем проекте, всё работало корректно.
Но вчера ночью проект упал, экшн с кодом просто перестал отрабатываться, после 1-2 минут выполнения он просто уходит в ошибку. Использовал SMTP mail.ru
Первом делом пошел проверять почту, часть настроек слетела, пришлось заново генерировать ключ и включать разрешение на работу со сторонними приложения.
К моему сожалению, ошибка осталась.
Решил воспользоваться SMTP yandex.ru, ошибка осталась.
Код приложил ниже, он просто перестал работать, проект я не трогал более 3 месяцев, в код тем более не лез.
И сам вопрос, возможно, кто-то сталкивался с подобным и знает решение, в чем может быть дело?
Буду рад за помощь и подсказки.
Также запросил C# код у GPT, он отработал, но письмо не доходит до адресата, этот код тоже прикладываю.
Код из моего проекта:
// с какого email отправлять
var fromEmailString = project.Variables["email_from"].Value;
// куда отправлять
var toEmailString = project.Variables["email_to"].Value;
// логин для авторизации на сервере отправки письма
var login = project.Variables["login"].Value;
// пароль от email, от имени которого отправляем письмо
var password = project.Variables["api_pass"].Value;
// сервер, через который отправляем письмо
var server = "smtp.mail.ru";
// порт сервера, через который отправляем письмо
int port;
int.TryParse(project.Variables["port"].Value, out port);
// нужно ли шифровать подключение (например для gmail нужно)
bool encryptConnection;
bool.TryParse(project.Variables["encryptedConnection"].Value, out encryptConnection);
// текст письма
var messageText = project.Variables["message_theme"].Value;
// заголовок письма
var messageSubject = project.Variables["message_header"].Value;
// файл, который нужно приложить, если ничего не нужно прикладывать, оставляем переменную пустой
var fileToAttach = project.Variables["fileToAttach"].Value;
// Формирование реквизитов письма
var fromAddress = new System.Net.Mail.MailAddress(fromEmailString, fromEmailString);
var toAddress = new System.Net.Mail.MailAddress(toEmailString, toEmailString);
// создаем подключение к почтовому серверу
var smtp = new System.Net.Mail.SmtpClient {
Host = server,
Port = port,
EnableSsl = encryptConnection,
DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new System.Net.NetworkCredential(login, password)
};
// создаем письмо
var message = new System.Net.Mail.MailMessage(fromAddress, toAddress) {
Subject = messageSubject,
Body = messageText,
IsBodyHtml = false,
};
// если у нас есть вложение, то добавляем его
if (!string.IsNullOrEmpty(fileToAttach))
{
var attach = new System.Net.Mail.Attachment(fileToAttach);
message.Attachments.Add(attach);
}
smtp.Send(message);
message.Dispose();
Chat GPT:
// Sender's email address and credentials
string senderEmail = "";
string senderPassword = "";
// Recipient's email address
string recipientEmail = "";
// Create a new MailMessage object
MailMessage mail = new MailMessage(senderEmail, recipientEmail);
// Set the subject and body of the email
mail.Subject = "Hello from C#";
mail.Body = "This is a test email sent using C#.";
// Create a new SmtpClient object
SmtpClient smtpClient = new SmtpClient("smtp.mail.ru", 465);
// Provide credentials for the SMTP server
smtpClient.Credentials = new NetworkCredential(senderEmail, senderPassword);
// Enable SSL encryption
smtpClient.EnableSsl = false;
try
{
// Send the email
smtpClient.Send(mail);
Console.WriteLine("Email sent successfully.");
}
catch (Exception ex)
{
Console.WriteLine("Failed to send email: " + ex.Message);
}