В этой главе мы расскажем, как добавить электронную почту на веб-сайт и как вы можете отправить электронное письмо со своей веб-страницы. Может быть много причин, почему вам может понадобиться отправить электронное письмо с вашего сайта.
-
Вы можете отправлять подтверждающие сообщения пользователям.
-
Вы также можете отправлять уведомления себе. Например, когда новый пользователь зарегистрировался на сайте.
Вы можете отправлять подтверждающие сообщения пользователям.
Вы также можете отправлять уведомления себе. Например, когда новый пользователь зарегистрировался на сайте.
Очень легко отправлять электронную почту с помощью помощника WebMail . Чтобы использовать этот помощник WebMail, у вас должен быть доступ к SMTP-серверу (SMTP означает Simple Mail Transfer Protocol).
-
SMTP-сервер — это почтовый сервер, который пересылает сообщения только на сервер получателя.
-
Если вы используете хостинг-провайдера для своего веб-сайта, он настроит вашу электронную почту и сообщит вам имя вашего SMTP-сервера.
-
Если вы работаете в корпоративной сети, администратор или ваш ИТ-отдел обычно может предоставить вам информацию о SMTP-сервере, который вы можете использовать.
-
Если вы работаете дома, вы можете даже протестировать с помощью своего обычного почтового провайдера, который может сообщить вам имя своего SMTP-сервера.
SMTP-сервер — это почтовый сервер, который пересылает сообщения только на сервер получателя.
Если вы используете хостинг-провайдера для своего веб-сайта, он настроит вашу электронную почту и сообщит вам имя вашего SMTP-сервера.
Если вы работаете в корпоративной сети, администратор или ваш ИТ-отдел обычно может предоставить вам информацию о SMTP-сервере, который вы можете использовать.
Если вы работаете дома, вы можете даже протестировать с помощью своего обычного почтового провайдера, который может сообщить вам имя своего SMTP-сервера.
Для работы с SMTP-сервером вам потребуется следующее;
-
Имя SMTP-сервера.
-
Номер порта в основном 25. Однако ваш интернет-провайдер может потребовать от вас использовать порт 587.
-
Учетные данные, такие как имя пользователя, пароль.
Имя SMTP-сервера.
Номер порта в основном 25. Однако ваш интернет-провайдер может потребовать от вас использовать порт 587.
Учетные данные, такие как имя пользователя, пароль.
Давайте рассмотрим простой пример, в котором мы отправим электронное письмо. Для начала нам нужно создать новый файл CSHTML.
Введите EmailRequest.cshtml в поле Имя и нажмите ОК.
Теперь замените следующий код в файле EmailRequest.cshtml.
<!DOCTYPE html> <html> <head> <title>Request for Assistance</title> </head> <body> <h2>Submit Email Request for Assistance</h2> <form method = "post" action = "ProcessRequest.cshtml"> <div> Your name: <input type = "text" name = "customerName" /> </div> <div> Your email address: <input type = "text" name = "customerEmail" /> </div> <div> Details about your problem: <br /> <textarea name = "customerRequest" cols = "45" rows = "4"></textarea> </div> <div> <input type = "submit" value = "Submit" /> </div> </form> </body> </html>
Как видно из приведенного выше кода, атрибут действия формы имеет значение ProcessRequest.cshtml , это означает, что форма будет отправлена на эту страницу. Итак, давайте создадим еще один CSHTML-файл ProcessRequest.cshtml и заменим следующий код.
@{ var customerName = Request["customerName"]; var customerEmail = Request["customerEmail"]; var customerRequest = Request["customerRequest"]; var errorMessage = ""; var debuggingFlag = false; try { // Initialize WebMail helper WebMail.SmtpServer = "smtp.mail.yahoo.com"; WebMail.SmtpPort = 465; WebMail.UserName = "[email protected]"; WebMail.Password = "**********"; WebMail.From = "[email protected]"; // Send email WebMail.Send(to: customerEmail, subject: "Help request from - " + customerName, body: customerRequest ); }catch (Exception ex ) { errorMessage = ex.Message; } } <!DOCTYPE html> <html> <head> <title>Request for Assistance</title> </head> <body> <p>Sorry to hear that you are having trouble, <b>@customerName</b>.</p> @if(errorMessage == ""){ <p>An email message has been sent to our customer service department regarding the following problem:</p> <p><b>@customerRequest</b></p> } else{ <p><b>The email was <em>not</em> sent.</b></p> <p>Please check that the code in the ProcessRequest page has correct settings for the SMTP server name, a user name, a password, and a "from" address.</p> if(debuggingFlag){ <p>The following error was reported:</p> <p><em>@errorMessage</em></p> } } </body> </html>
Если вы используете провайдера электронной почты Yahoo, вам придется заменить следующий код в приведенной выше программе, чтобы запустить его.
// Initialize WebMail helper WebMail.SmtpServer = "smtp.mail.yahoo.com"; WebMail.SmtpPort = 465; WebMail.UserName = "[email protected]"; WebMail.Password = "**********"; WebMail.From = "[email protected]";
Вам необходимо ввести свой собственный пароль в свойстве WebMail.Password .
Теперь давайте запустим приложение и укажем следующий URL — http: // localhost: 59795 / EmailRequest, и вы увидите следующую веб-страницу.
Теперь введите некоторую информацию во все упомянутые поля, как показано на следующем снимке экрана.
Нажмите «Отправить», и после успешного отправления электронного письма вы увидите следующее сообщение.