Jaffar Hayat Ответов: 1

Как отправить автоматическую электронную почту с использованием MVC


Привет,

как я могу автоматически отправлять электронную почту в gmail, yahoo или hotmail?
На самом деле, когда я обновлю страницу, грубое письмо будет отправлено на нужный адрес электронной почты.
Никаких кнопок, которые я хотел бы использовать в этом процессе, как от или до, но просто хочу отправить электронное письмо обновить ссылку.
я пробовал ниже код, но он не работает.
вот мой контроллер:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Net;
using System.Net.Mail;
using automatic_email.Models;
using Comfirm.AlphaMail;

namespace automatic_email.Controllers
{
    public class emailController : Controller
    {
        // GET: email
        public ActionResult Page_load()
        {
            //MailMessage mailMessage = new System.Net.Mail.MailMessage();
            //mailMessage.To.Add("my email");
            //mailMessage.CC.Add("someone email");
            //mailMessage.Subject = "Some subject";
            //mailMessage.Body = "Some text";

            //using (var smtpClient = new SmtpClient())
            //{
            //    smtpClient.Send(mailMessage);
            //}
            GMailer.GmailUsername = "my email";
            GMailer.GmailPassword = "my password";

            GMailer mailer = new GMailer();
            mailer.ToEmail = "my email";
            mailer.Subject = "Verify your email id";
            mailer.Body = "Thanks for Registering your account.<br> please verify your email id by clicking the link <br> <a href='youraccount.com/verifycode=12323232'>verify</a>";
            mailer.IsHtml = true;
            try
            {
                mailer.Send();
            }
            catch (Exception ex)
            {
                ViewBag.data = ex.ToString();
            }
            return View();
        }
    }
    
}


Что я уже пробовал:

Я пробовал разные методы,но безуспешно.

Dave Kreskowiak

Ваш вопрос не имеет никакого смысла.

Вы хотите отправлять электронное письмо при каждой загрузке страницы, даже при обновлении, или вы не хотите отправлять электронное письмо при каждой загрузке страницы?

Jaffar Hayat

да вы правы,
я хочу отправлять электронную почту при каждой загрузке страницы.
спасибо за поправку.

jgakenhe

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

Кроме того, если вы хотите использовать его для ссылки, вам лучше всего использовать ссылку, вызывающую метод, а не при загрузке страницы.

Jaffar Hayat

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

Richard Deeming

Вы, кажется, путаете WebForms и MVC. То Page_Load(object sender, EventArgs e) это артефакт WebForms, и ему нет места в контроллере MVC.

1 Ответов

Рейтинг:
4

Dave Kreskowiak

Во-первых, удалите свой адрес электронной почты из фрагментов кода. У спамеров есть боты, которые прочесывают сайты, в том числе и этот, в поисках адресов электронной почты. Если вы любите получать спам, прекрасно, оставьте его там. Если нет, уберите его.

Далее, MVC не имеет никакого понятия о событии Page_Load. Я думаю, вам действительно нужно взять книгу по MVC и поработать над ней.

Вы можете поместить этот код в индексный метод контроллера, и он сделает то, что вы просите. Отправка электронной почты не меняется независимо от того, какой фреймворк вы используете.


Jaffar Hayat

Спасибо.
но после запуска приложения на smtpClient возникает исключение.Отправить (mailMessage);

Dave Kreskowiak

Не кажется ли вам, что было бы неплохо рассказать нам, что такое сообщение об исключении? Я имею в виду, что это только самая важная часть информации, которая говорит вам, где может быть проблема...

Не берите в голову. Теперь, когда вы проголосовали против ответа, который я дал без всякой причины, кроме того, что ваш код столкнулся с еще одной проблемой, которую никто не мог предвидеть, мне все равно.