【问题标题】:How to send mail automatically in ng-click?如何在 ng-click 中自动发送邮件?
【发布时间】:2016-07-19 18:35:51
【问题描述】:

我在 Visual Studio 2013 中使用 angularjs 1.4.8。我想在单击按钮后自动向 xxxx@xxxx.com 发送带有消息“您的注册已完成”的电子邮件。如何通过 angularjs 发送电子邮件?

  [HttpPut]
    [Route("api/SendMail")]
    protected void sendmail()
    {

        var fromAddress = "xxxk@xxxxx.com";
        var toAddress = "rrrr@rrr.com";
        const string fromPassword = "workufs1234";
        MailMessage mailMessage = new MailMessage(fromAddress, toAddress);
        mailMessage.To.Add(toAddress);
        mailMessage.Subject = "Documents";
        string messge = "hellooooo";
        string tempmsg = "";
        var messg = @"<html><body><br />Dear  ss ,<br /><br />  <br />";
        mailMessage.To.Add(toAddress);
        string html = messg.ToString();
        AlternateView altView = AlternateView.CreateAlternateViewFromString(html, null, MediaTypeNames.Text.Html);
       MailMessage mail = new MailMessage();
        mailMessage.AlternateViews.Add(altView);
        mailMessage.Body = messg.ToString();
        mailMessage.IsBodyHtml = true;

        SmtpClient mailSender = new SmtpClient("162.222.225.82"); //use this if you are in the development server
        mailSender.Host = "smtp.gmail.com";
        mailSender.Port = 587;
        mailSender.EnableSsl = true;
        mailSender.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
        mailSender.Credentials = new NetworkCredential(fromAddress, fromPassword);
        mailSender.Timeout = 40000;
        mailSender.Send(mailMessage);
    }

如何使用邮递员进行测试。这是 httppost 还是 put 还是?

【问题讨论】:

  • 您必须从 API 端执行该功能,因为在设备中您只能打开填写所有详细信息的邮件编写器,但您必须手动按下发送按钮 i。 e.不是自动的。

标签: angularjs


【解决方案1】:

HTML 代码:

<button ng-click="sendMail()"></button>

控制器:

$scope.message = {} // contact info goes here

$scope.sendMail = function(){
  var mail = 'mailto:mohamed@labouardy.com?subject=' + $scope.message.name +
               '&body=' + $scope.message.content;
  $window.open(mail);
}

【讨论】:

  • 不需要窗口。我想发送自动发送邮件
【解决方案2】:

我认为您需要一个服务器端才能正确执行此操作。 (PHP / NodeJS,...)

在我的 NodeJS 服务器上,我使用的是“nodemailer”,它运行良好。 https://www.npmjs.com/package/nodemailer

希望对你有帮助。

【讨论】:

  • 我使用 angularjs 不使用 nodejs
  • 是的,但是 AngularJS 只在客户端运行。您还需要一个服务器端来从服务器启动您的应用程序
猜你喜欢
  • 2015-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多