我一直在嘗試一段時間讓我的電子郵件發送使用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