Отправить Yahoo письмо через C # Winforms, используя SMTP - PullRequest
1 голос
/ 22 ноября 2011

Я использую приведенный ниже код для отправки электронной почты через сервер Gmail.Я хочу знать, что мне нужно изменить / удалить из приведенного ниже кода, чтобы иметь возможность отправлять электронную почту с почтового сервера Yahoo с помощью моего приложения C # WinForm.

А также, если вы знаете, какчтобы он работал быстрее, пожалуйста, дайте мне знать.Отправка электронного письма с использованием этого кода занимает от 20 до 22 секунд.Спасибо.

var fromAddress = new MailAddress("sendermail@gmail.com", "Sender name");
var toAddress = new MailAddress("recipientmail@gmail.com", "Recipient name");
const string fromPassword = "mypassword";
const string subject = "Subject";
string body = "E-mail content";

var smtp = new SmtpClient();
{
    smtp.Host = "smtp.gmail.com";
    smtp.Port = 587;
    smtp.EnableSsl = true;
    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
    smtp.Credentials = new NetworkCredential(fromAddress.Address, fromPassword);
    smtp.Timeout = 20000;
}

using (var message = new MailMessage(fromAddress, toAddress))
{
    message.Subject = subject;
    message.Body = body;
    message.IsBodyHtml = true;

    smtp.Send(message);
}

Ответы [ 2 ]

1 голос
/ 22 ноября 2011

Возможно, это слишком просто, но У Yahoo есть документация о том, какие порты и серверы использовать .

выдержка:

Outgoing mail (SMTP) server: smtp.bizmail.yahoo.com
                             Use SSL, port: 465, and use authentication

Account name/user name:      Your Business Email address
                             (such as you@widgetdesigns.com)

Email address:               Your Business Email address
                             (such as you@widgetdesigns.com)

Password:                    Your Business Email password
1 голос
/ 22 ноября 2011

Все в этом бите нужно будет изменить, чтобы отразить SMTP-сервер Yahoo:

var smtp = new SmtpClient();
{
    smtp.Host = "smtp.gmail.com";
    smtp.Port = 587;
    smtp.EnableSsl = true;
    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
    smtp.Credentials = new NetworkCredential(fromAddress.Address, fromPassword);
    smtp.Timeout = 20000;
}

вам нужно будет изменить их, чтобы отразить настройки здесь .

Что касается времени, я сомневаюсь, что любой открытый SMTP с хорошей репутацией предоставит любую «быструю» услугу в попытке предотвратить использование спама.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...