【问题标题】:AngularJS mailto not sending emailsAngularJS mailto不发送电子邮件
【发布时间】:2023-03-13 02:30:01
【问题描述】:

我正在使用以下代码来允许我的 AngularJS 应用程序用户使用他们最喜欢的邮件客户端发送电子邮件,但是当我单击“发送”按钮时没有任何反应。有人可以检查我的代码并告诉我我在这里缺少什么吗?谢谢

<button type="button" ng-click="sendEmail(message.Email, message.subject, message.body)" >Send</button>

控制器代码:

    $scope.sendEmail = function(email, subject, body){
        var link = "mailto:"+ email
                 + "&subject=New email " + escape(subject);
                 + "&body=" + escape(body); 

        window.location.href = link;
     };

【问题讨论】:

  • 有什么方法可以直接从 AngularJS 发送电子邮件,而不是打开电子邮件客户端?

标签: angularjs


【解决方案1】:

我认为这里可能有两件事是错误的。

首先,空格不是主题中的有效字符。您可能需要将其替换为 %20

其次,您需要将主题前的&amp; 更改为?。否则,它会尝试向包含所有主题和正文参数的地址发送电子邮件...

你可以试试这个吗:

$scope.sendEmail = function(email, subject, body) {
    var link = "mailto:"+ email
             + "?subject=New%20email " + escape(subject)
             + "&body=" + escape(body); 

    window.location.href = link;
 };

您可以在此处查看更多信息: http://en.wikipedia.org/wiki/Mailto

【讨论】:

    【解决方案2】:

    如果有人仍在使用赞成的答案,请记住删除主题转义上的分号。

    这个:

    + escape(subject);
    

    应该是:

    + escape(subject)
    

    【讨论】:

      猜你喜欢
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      相关资源
      最近更新 更多