2014-02-11 73 views
0

我一直在尝试一段时间让我的电子邮件发送使用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”)] 。

+0

你是否试图捕获' - > send()'调用的返回值?当你没有确认它实际发送时说'发送'是非常糟糕的。 –

+0

检查邮件服务器日志 – 2014-02-11 19:37:39

+0

Marc B,这只是一个测试脚本,所以我不用每次想测试时都注册一个新用户。只是想确保它实际上正在脚本的这个阶段进行,所以我不在乎它的回应。 Dagon,你是什么意思?我无法检查邮件服务器上的日志。 – Zer0HD2

回答

0

调用SendGrid::register_autoloader();后也要求Unirest。

否则你的脚本看起来不错。

+0

谢谢,修复它。 – Zer0HD2