2014-03-31 19 views
0

要發送電子郵件給我的提供商,我應該在電子郵件地址前插入-f標誌。也就是說,如果我使用這個:添加一個標誌發送電子郵件 - cakephp

App::uses('CakeEmail', 'Network/Email'); 
$email = new CakeEmail(); 
$email->from('[email protected]_domain.com'); 
$email->to('[email protected]_domain.com'); 
$email->subject('Subject'); 
$email->emailFormat('text'); 
$email->send('My message'); 

我沒有收到任何東西。 我應該添加:「-f [email protected]_domain.com」 我應該在哪裏添加此標誌?

+0

什麼是'-f'標誌?它有什麼作用?它意味着什麼?電子郵件客戶端? – Latheesan

+0

我不知道。該標誌是供應商要求的。 – Sandro

+0

@LatheesanKanes這可能是一個sendmail標誌。 http://stackoverflow.com/questions/8306576/php-mail-what-does-f-do – ndm

回答

0

如果您的服務器沒有以安全模式運行,您可以在有些未公開的additionalParameters電子郵件配置選項中定義標誌,這是MailTransport獨有的。

class EmailConfig { 

    public $yourConfig = array(
     'transport' => 'Mail', 
     'from' => '[email protected]', 
     // ... 
     'additionalParameters' => '[email protected]' 
    ); 

    // ... 
} 

注意,-f標誌是定義發件人,而不是收件人包換,所以應該最有可能被設置爲[email protected],不[email protected]

+0

對不起,我的膚淺。 cakePHP版本是2.4.6。 這是問題:我的域名是www.dominio.com。 聯繫頁面在同一個域上,發送郵件到[email protected]。在這些條件下,電子郵件永遠不會到達。 我必須在地址前加上-f標誌。 您建議的方法導致此消息:「發生內部錯誤。」 你能幫我嗎?謝謝 – Sandro

+0

@Sandro你必須檢查你的日誌('app/tmp/logs /'),它們應該包含確切的錯誤信息。如果沒有,請確保已啓用[**調試模式**](http://book.cakephp.org/2.0/en/development/configuration.html#cakephp-core-configuration),[** logging ** ](http://book.cakephp.org/2.0/en/development/errors.html)配置正確,然後重試。 – ndm

+0

@Sandro對不起,查看了錯誤的源代碼,確切的錯誤信息沒有在2.4.6中記錄。試試2.5 beta,或者暫時從'MailTransport :: _ mail()'的'mail()'命令中刪除'@'char。 – ndm