我使用cakePHP電子郵件組件從我的應用程序發送郵件。現在返回路徑有如[email protected]如何重寫或設置cakePHP電子郵件組件中的返回路徑?
如何在使用cakePHP組件時設置或重寫電子郵件中的Return-Path值?
我知道如何做到這一點,當通過郵件發送郵件在PHP中,但cakePHP電子郵件組件似乎缺少這樣的功能......或者我錯過了什麼? :)
我使用cakePHP電子郵件組件從我的應用程序發送郵件。現在返回路徑有如[email protected]如何重寫或設置cakePHP電子郵件組件中的返回路徑?
如何在使用cakePHP組件時設置或重寫電子郵件中的Return-Path值?
我知道如何做到這一點,當通過郵件發送郵件在PHP中,但cakePHP電子郵件組件似乎缺少這樣的功能......或者我錯過了什麼? :)
有一個稱爲EmailComponent :: return的屬性,它是錯誤消息的返回路徑。請注意,這與replyTo屬性不同。
$this->Email->return = '[email protected]';
http://book.cakephp.org/1.3/en/The-Manual/Core-Components/Email.html
你是完全正確的。也像Jon說的那樣簡單 $ this-> Email-> return ='[email protected]'; 它之前嘗試過,但它沒有工作(現在也沒有,但我想我可能知道問題出在哪裏)。似乎我們的郵件服務器在發送之前正在重寫郵件頭:/ – 2010-01-29 09:29:59
當您在查看如何使用組件的其餘部分時,應該看到如下所示的內容,然後深入研究Cake手冊。這是設置返回路徑。
$ this-> Email-> return ='[email protected]';
要改變CakePHP的郵件組件的返回路徑我這樣做:
...
$return_path_email = '[email protected]';
...
$this->Email->additionalParams = '-f'.$return_path_email;
和它的作品般的魅力;)
解決郵件實際發送時覆蓋「$ this-> Email-> return」的問題。 – 2012-10-22 13:51:58
一位同事和我正在處理這個相同的問題,我們發現在php.ini中編輯以下行給了我們我們的修復:
來自:
sendmail_path = /usr/sbin/sendmail -t -i
到:
sendmail_path = /usr/sbin/sendmail -t -i -f [email protected]
測試一定要送你的電子郵件,以有效的域時。這讓我們抓了幾分鐘。
在CakePHP的2(其中電子郵件組件主要由CakeEmail類代替),你可以做到這一點的配置裏面/app/Config/email.php:
class EmailConfig {
public $email = array(
...
// The next line attempts to create a 'Return-path' header
'returnPath' => '[email protected]',
// But in some sendmail configurations (esp. on cPanel)
// you have to pass the -f parameter to sendmail, like this
'additionalParameters' => '[email protected]',
...
);
}
或者,如果您需要這樣做只是爲一個單一的電子郵件,這樣的事情應該工作...
App::uses('CakeEmail', 'Network/Email');
$email = new CakeEmail('MyConfig');
$email->from(...)
->to(...)
->subject(...)
->returnPath('[email protected]')
// Haven't tested this next line, but may possibly work?
->config(array('additionalParameters' => '[email protected]'))
->send();
太棒了。:) – VishalParkash 2016-11-30 12:19:29
對於CakePHP 2,' - > config(array('additionalParameters'=>'-f [email protected]'))'是做這個伎倆的線。指定returnPath()不是必需的。 – 2017-09-21 19:36:32
我的問題與$這個 - >的電子郵件 - >收益率= [email protected]是,它是由後綴通過發送時重寫郵件/默認。我不得不通過smtp發送我的郵件,其中退貨也不起作用 - 但是:它會被髮件人/發件人重新發送。 有沒有人有線索爲什麼postfix重寫返回路徑? Cake調試確實顯示交替的返回路徑設置。 – 2010-01-30 17:49:59