мы используем SMTP-порты 587 для отправки электронной почты через связанную с Gmail учетную запись в C# ASP.NET. Итак, как мы можем применить порт/хост для отправки электронных писем из любой учетной записи, такой как yahoo, Outlook и т. Д.?Отправка электронной почты в C# ASP.NET-запрос SMTP PORT
ответ
Вы можете добиться того, что вы хотите от:
Определить, если почтовые услуги разоблачить SMTP порты для общего пользования
Programatically переключить хост/порт в зависимости от службы код разговаривает ,
Что-то вроде
Если адрес электронной почты Yahoo, а затем подключиться к Yahoo SMTP-сервер.
Вы должны хранить информацию SMTP в web.config (read about how to do this).
Тогда в вас коде сделать что-то вроде этого:
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add("[email protected]");
message.Subject = "Hello";
message.From = new System.Net.Mail.MailAddress("[email protected]");
message.Body = "Hello world.";
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("host_name_defined_in_web_config");
smtp.Send(message);
Если вы обернуть этот код в метод (скажем, MyOwnMailSender.Send()
) вы можете упростить его дальше, например, вы можете вызвать:
MyOwnMailSender.Send(addresses, title, body);
Ниже приведен код для установки секций хоста и порта нового SMTP объекта
SmtpClient smtp = new SmtpClient();
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential("test", "testpass");
smtp.Host = "mail.test.co.uk";
smtp.Port = Convert.ToInt32("22");
Тогда вы могли бы назвать его в распределительном заявление
switch(account){
case "yahoo" :
sendmailYahoo();
break;
case "hotmail" :
sendmailHotmail();
break;
}
явно с этим делом вы бы раздельные методы или вы могли бы назвать его во время выполнения метода, чтобы вы могли иметь
SmtpClient smtp = new SmtpClient();
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
switch(account){
case "yahoo" :
smtp.Credentials = new NetworkCredential("yahoo", "testpass");
smtp.Host = "mail.yeahoo.co.uk";
smtp.Port = Convert.ToInt32("212");
break;
case "hotmail" :
smtp.Credentials = new NetworkCredential("hotmail", "testpass");
smtp.Host = "mail.hotmail.co.uk";
smtp.Port = Convert.ToInt32("232");
break;
}
Если вы используете SmtpClient, вы можете настроить порт в файле web.config:
<configuration>
<system.net>
<mailSettings>
<smtp deliveryMethod="network">
<network
clientDomain="www.contoso.com"
defaultCredentials="true"
enableSsl="false"
host="mail.contoso.com"
port="25"
/>
</smtp>
</mailSettings>
</system.net>
</configuration>
См MSDN
public void MailSend()
{
using (MailMessage mailMessage = new MailMessage())
{
mailMessage.From = new MailAddress("[email protected]");
mailMessage.Subject = "subject";
mailMessage.Body = "body";
mailMessage.IsBodyHtml = true;
mailMessage.To.Add(new MailAddress(mail));
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
NetworkCred.UserName = mailMessage.From.Address;
NetworkCred.Password = "password";
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mailMessage);
}
}
- 1. SMTP: Отправка электронной почты
- 2. C# SMTP отправка почты
- 3. C# Отправка электронной почты, хотя ошибка SMTP формат почты происходит
- 4. Отправка электронной почты SMTP в Dart
- 5. отправка электронной почты в C#
- 6. Ошибка SMTP: отказ Отправка электронной почты
- 7. Отправка smtp электронной почты с микроконтроллера
- 8. Отправка электронной почты через smtp-сервер outlook
- 9. Отправка электронной почты через SMTP-сервер
- 10. Отправка электронной почты с 1and1 SMTP сервера
- 11. Отправка электронной почты анонимно через smtp
- 12. Отправка электронной почты с помощью Outlook SMTP
- 13. Отправка электронной почты через SMTP и тестирование
- 14. Отправка электронной почты с помощью Yahoo SMTP
- 15. GAE Отправка сообщений электронной почты через SMTP
- 16. Mime4j - Отправка электронной почты через SMTP-сервер
- 17. Отправка огромного количества электронной почты с SMTP
- 18. Отправка электронной почты программно через SMTP-сервер
- 19. отправка электронной почты с помощью smtp
- 20. Отправка электронной почты с помощью SMTP codeigniter
- 21. Java mail: отправка электронной почты без SMTP
- 22. Отправка блока электронной почты SMTP HTTP-запрос
- 23. отправка электронной почты с gmail smtp (secure layer) в C++
- 24. C# отправка электронной почты неудачи
- 25. C# Отправка электронной почты с использованием SMTP E-mail
- 26. ASP.NET C# - отправка электронной почты с сервера Live Live SMTP
- 27. Отправка электронной почты с помощью C# без SMTP-сервера?
- 28. Отправка электронной почты в C# не работает
- 29. C# - Отправка электронной почты от BlueHost
- 30. Отправка электронной почты в Java
Сохраните эти значения в файле конфигурации и прочитайте оттуда. Если вы хотите обновить свой хост, просто обновите свой файл конфигурации. – Shyju