Код: Выделить всё
public void SendEmail(string address, string subject, string message, int id)
{
string email = "emailname@gmail.com";
string password = "somepassword";
var loginInfo = new NetworkCredential(email, password);
var msg = new MailMessage();
var smtpClient = new SmtpClient("smtp.gmail.com", 587);
msg.From = new MailAddress(email);
msg.To.Add(new MailAddress(address));
msg.Subject = subject;
msg.Body = message;
msg.IsBodyHtml = true;
msg.Attachments.Add(new Attachment(Server.MapPath("~/Content/StudentPdf/student" + id + ".pdf")));
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = loginInfo;
smtpClient.Send(msg);
}
SMTP-сервер требует безопасное соединение или клиент не был
аутентифицирован. Ответ сервера был: 5.5.1 Требуется аутентификация.
Я пытался изменить порт на 465, но тогда он будет получен. у меня ошибка tcp_ip на хостинге. И еще: а когда пользователи пытаются отправлять письма с этого ящика, гугл сообщает мне о подозрительной активности в приложении. Это потому, что мой хостинг находится в одной стране, а я нахожусь в другой стране.
Я понятия не имею, что мне делать дальше. Я попробовал погуглить и нашел что-то о двухуровневой регистрации, но не понимаю, как мне нужно реализовать это в своем методе.
Я использую хостинг arvixe. Может быть, у других такие же проблемы?
Подробнее здесь: https://stackoverflow.com/questions/185 ... rp-asp-net