Formerly, I used my server as mail host and was sending emails via my own host. Now, I use Yandex as my mail server. I'm trying to send emails via Yandex SMTP. However, I could not achieve it. I get "the operation has timed out" message every time. I'm able to send & receive email with the same settings when I use Thunderbird. Hence, there is no issue with the account. I appreciate your guidance. You can see my code below: EmailCredentials credentials = new EmailCredentials(); credentials.Domain = "domain.com"; credentials.SMTPUser = "[email protected]"; credentials.SMTPPassword = "password"; int SmtpPort = 465; string SmtpServer = "smtp.yandex.com"; System.Net.Mail.MailAddress sender = new System.Net.Mail.MailAddress(senderMail, senderName, System.Text.Encoding.UTF8); System.Net.Mail.MailAddress recipient = new System.Net.Mail.MailAddress(recipientEmail, recipientName, System.Text.Encoding.UTF8); System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage(sender, recipient); email.BodyEncoding = System.Text.Encoding.UTF8; email.SubjectEncoding = System.Text.Encoding.UTF8; System.Net.Mail.AlternateView plainView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(System.Text.RegularExpressions.Regex.Replace(mailBody, @"<(.|\n)*?>", string.Empty), null, MediaTypeNames.Text.Plain); System.Net.Mail.AlternateView htmlView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(mailBody, null, MediaTypeNames.Text.Html); email.AlternateViews.Clear(); email.AlternateViews.Add(plainView); email.AlternateViews.Add(htmlView); email.Subject = mailTitle; System.Net.Mail.SmtpClient SMTP = new System.Net.Mail.SmtpClient(); SMTP.Host = SmtpServer; SMTP.Port = SmtpPort; SMTP.EnableSsl = true; SMTP.Credentials = new System.Net.NetworkCredential(credentials.SMTPUser, credentials.SMTPPassword); SMTP.Send(email); (责任编辑:) |