我一直在尝试一段时间让我的电子邮件发送使用SendGrid。我已经建立了一个测试PHP脚本:SendGrid邮件不发送(网络和SMTP)
<?php
require_once('../resources/functions/sendgrid/lib/SendGrid.php');
SendGrid::register_autoloader();
require_once('../resources/functions/unirest/lib/Unirest.php');
$sendgrid = new SendGrid('my_username', 'my_password');
$sendgrid_email = new SendGrid\Email();
$sendgrid_email->addTo('[email protected]')->
setFrom('Name <[email protected]_domain.co.uk>')->
setSubject('Name | Test Mail')->
setText("TEST MESSAGE");
$sendgrid->smtp->send($sendgrid_email);
echo 'mail sent';
?>
我该使用Web和SMTP方法试过了,这两种方法得到的“已发送邮件”的回声,但实际上既没有出现在我的收件箱,并当我检查我的SendGrid帐户时,我仍然发送了0封电子邮件。
编辑:
好了,我懂了工作。删除了“名称”,将其更改为“[email protected]_domain.co.uk”。但是,我想使用第一种方法来定义名称 - 这样做的任何方式?
ANOTHER编辑:
好吧,尼克Q的回答固定的我是有问题的其余部分。对于任何想知道的人来说,你从名字(例如)设置的方式是将setFrom作为电子邮件[setFrom(“[email protected]”)],然后使用setFromName [setFromName(“Example”)] 。
你是否试图捕获' - > send()'调用的返回值?当你没有确认它实际发送时说'发送'是非常糟糕的。 –
检查邮件服务器日志 – 2014-02-11 19:37:39
Marc B,这只是一个测试脚本,所以我不用每次想测试时都注册一个新用户。只是想确保它实际上正在脚本的这个阶段进行,所以我不在乎它的回应。 Dagon,你是什么意思?我无法检查邮件服务器上的日志。 – Zer0HD2