2017-01-09 6 views
-3

Я пытаюсь реализовать функцию отправки писем, когда пользователь регистрирует мою страницу, а также для сброса паролей. Я занимаюсь исследованиями, но я не мог получить хорошие ресурсы. Все, что я нашел, основано на старых примерах, используя sendgrid v2.0 (очень старая версия). Кто-нибудь, кто разработал эту функциональность в прошлом году и имеет какое-то руководство? Я исследовал следующие руководства: https://www.asp.net/identity/overview/features-api/account-confirmation-and-password-recovery-with-aspnet-identityИспользуйте mvc для получения подтверждения по электронной почте

+1

http://www.aspsnippets.com/Articles/Send-user-Confirmation-email-after-Registration-with-Activation-Link-in-ASPNet.aspx Это поможет вам – onur

+1

спасибо, что нашли время помогите мне – rockyargento

ответ

1

В этом есть две части, и вы недостаточно четко определились, где у вас проблемы. По сути, отправить по электронной почте вам необходимо:

  1. SMTP-сервер
  2. код, чтобы создать электронную почту и использовать сервер SMTP для отправки его

Вы упомянули sendgrid, который просто SMTP сервер (или действительно сетка серверов SMTP, отсюда и название); это просто способ отправить электронное письмо. Конечно, есть и другие варианты. Вы можете включить встроенный SMTP-сервер в Windows Server или использовать Exchange, если вы работаете в корпоративной среде. Вы даже можете использовать что-то вроде SMTP-сервера Gmail, но если вы используете это для чего-то большего, чем тестирование или локальное развитие, вы, вероятно, получите запрет.

Что касается фактического кода для создания электронной почты, для этого у вас есть SmtpClient, хотя я бы не рекомендовал его использовать непосредственно в приложении MVC. Лучше использовать что-то вроде Postal, которое дает вам API более высокого уровня и использует виды Razor для создания ваших электронных писем, среди прочего. Под капотом он также использует SmtpClient.

+0

спасибо за ответ – rockyargento

0

Я не уверен, что это поможет вам, но я недавно внедрил следующее на сайте MVC, который я разработал для отправки писем с запросами на подтверждение.

От действия контроллера я зову следующий метод:

public static void SendMail(MailMessage Msg) 
    { 
     SmtpClient _SMTP = new SmtpClient(SMTP, SMTP_Port); 
     _SMTP.UseDefaultCredentials = false; 
     _SMTP.Credentials = new System.Net.NetworkCredential(User, Password); 
     _SMTP.Send(Msg); 
    } 

И MailMessage создается с помощью следующего метода:

public static MailMessage BuildEnqNotificationMessage(string _To, string _Body) 
    { 
     MailMessage Msg = new MailMessage(); 
     Msg.From = new MailAddress(FromAddress, FromFriendly); 
     Msg.Subject = "New Sales Enquiry"; 
     Msg.To.Add(_To); 
     Msg.Body = _Body; 
     Msg.IsBodyHtml = true; 
     return Msg; 
    } 

Это реализующий точно так же, как вы бы реализовать его в WebForms.

+0

Спасибо за ваш ответ! и принимая ваше время – rockyargento