我正在從事一項實作電子郵件功能的 cron 作業。它本質上是發送電子郵件報告。
我可以使用 CURLOPT_PUT 發送電子郵件,如下所示:
//create email body etc
$to = '[email protected]';
$server = 'smtps://smtp.gmail.com:465';
$message = 'test message';
$emailFile = fopen("php://temp", 'w ');
fwrite($emailFile, $message);
rewind($emailFile);
$fstat = fstat($emailFile);
$size = $fstat['size'];
//initialize and authenticate cURL
$ch = curl_init($server);
curl_setopt($ch, CURLOPT_USERPWD, '[email protected]' . ':' . 'samplepass');
curl_setopt($ch, CURLOPT_MAIL_RCPT, array("<" . $to . ">"));
curl_setopt($ch, CURLOPT_PUT, 1);
curl_setopt($ch, CURLOPT_INFILE, $emailFile);
curl_setopt($ch, CURLOPT_INFILESIZE, $size);
fclose($emailFile);
curl_close($ch);
問題是我無法設定電子郵件的標題(又名主題),它以“無主題”的形式到達。是否可以使用我當前的設定完成此操作,如果可以,我該如何實作?
我知道 CURLOPT_POST 可以實作這一點,但這會給我帶來其他問題,目前對我來說不是一個選擇。
uj5u.com熱心網友回復:
我找到了解決問題的方法。您可以通過預先附加 fwrite() 函式的第二個引數來向電子郵件添加主題(標題),如下所示:
$subject = "email title";
fwrite($emailFile, "Subject: " . $subject . "\n" . $message);
但是,正如其他人所建議的那樣,如果可以,最好使用更現代的庫(如 SwiftMailer 或 PHP Mailer)來實作此功能,因為 CURLOPT_PUT 已被棄用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/321173.html
