动作按钮和PHP - 不会'显示在收件箱中

时间:2014-03-10 13:52:05

标签: php google-schemas

我使用phpmailer向我发送电子邮件,我甚至使用DKIM和我的 谷歌应用程序帐户,甚至文档说:

  

您可以轻松测试您的标记是否有效   通过向Gmail发送包含架构的电子邮件来正确地进行端到端   帐户。发件人和收件人相同的所有电子邮件   帐户忽略注册要求,可用于   自测试。

我试图发送给我,发送到另一个Gmail帐户,什么也没有。 使用此处的示例:https://developers.google.com/gmail/actions/apps-script-tutorial 并且工作得很好,尝试在我的代码中使用它而没有任何东西。 使用localhost有任何限制,即使phpmailer设置为谷歌服务器:smtp.gmail.com?

我正在使用此代码:

<?php
require_once('phpmailer/class.phpmailer.php');

$content =
'
<html>
  <head>
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "action": {
    "@type": "ConfirmAction",
    "name": "Approve Expense",
    "handler": {
      "@type": "HttpActionHandler",
      "url": "https://myexpenses.com/approve?expenseId=abc123"
    }
  },
  "description": "Approval request for Johns $10.13 expense for office supplies"
}
</script>
  </head>
  <body>
    <p>
      This a test for a Go-To action in Gmail.
    </p>
  </body>
</html>
';

echo mailer("mymail","mymail","My Name","test action", $content);


function mailer($to, $from, $from_name, $subject, $body) { 
    $mail = new PHPMailer();  // create a new object
    //$mail->CharSet = "UTF-8";
    $mail->IsSMTP(); // enable SMTP
    $mail->SMTPAuth = true;  // authentication enabled
    $mail->Host = 'smtp.gmail.com';
    $mail->Username = 'mymail';  
    $mail->Password = 'pass';       
    $mail->SetFrom($from, $from_name);
    $mail->Subject = $subject;
    $mail->Body = $body;
    $mail->isHTML(true); 
    $mail->SMTPSecure = 'tls'; 
    $mail->AddAddress($to);
    if(!$mail->Send()) {
        return $mail->ErrorInfo;
    } else {
        return true;
    }
}

0 个答案:

没有答案