1 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
兩個(gè)關(guān)鍵問(wèn)題。首先,您使用的是 SMTP,但您還沒(méi)有設(shè)置Host到您的郵件服務(wù)器 - 所以它不會(huì)工作,除非它localhost- 是這樣嗎?
您要求 PHPMailer 拋出異常(通過(guò)傳遞true給構(gòu)造函數(shù)),但是您沒(méi)有在對(duì) PHPMailer 的調(diào)用周?chē)?try/catch 塊,因此任何錯(cuò)誤都將導(dǎo)致未捕獲的異常 - 這將給您準(zhǔn)確的癥狀你在看。試試這個(gè):
function email()
{
global $xmlData;
$mail = new PHPMailer(true);
try {
$mail->isHTML(false);
$mail->isSMTP();
$mail->setFrom('XML@gmail.com', 'Yashir CV Lead');
$mail->addAddress("BinaryRx@gmail.com");
$mail->Subject = "Yashir CV Lead";
$mail->Body = $xmlData;
$today = date('d-m-Y H:i:s');
$mail->send();
echo "Report Sent - ".$today;
} catch (Exception $e) {
echo 'Sending failed'.$e->getMessage();
}
}
總的來(lái)說(shuō),主要的事情是一次調(diào)試一件事——email()在開(kāi)始嘗試做依賴于它工作的事情之前檢查該函數(shù)是否真正獨(dú)立工作,否則你將不知道代碼的哪一部分失敗了。
如果您使用的是 PHP 7.0 或更高版本,則可以通過(guò)使用null 合并運(yùn)算符來(lái)簡(jiǎn)化對(duì)參數(shù)的初始檢查。你可以替換這個(gè):
$firstName = isset($_GET['firstName']) ? $_GET['firstName'] : '';
和:
$firstName = $_GET['firstName'] ?? '';
- 1 回答
- 0 關(guān)注
- 137 瀏覽
添加回答
舉報(bào)