【问题标题】:Add a flag to send an email - cakephp添加标志以发送电子邮件 - cakephp
【发布时间】:2014-03-31 09:53:49
【问题描述】:

要向我的提供商发送电子邮件,我应该在电子邮件地址之前插入 -f 标志。也就是说,如果我使用这个:

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

我没有收到任何东西。 我应该添加:“-f to@my_domain.com” 我应该在哪里添加这个标志?

【问题讨论】:

  • -f 标志是干什么用的?它有什么作用?它应该设置在哪里?电子邮件客户端?
  • 我不知道。提供者需要此标志。
  • @LatheesanKanes 这很可能是一个 sendmail 标志。 stackoverflow.com/questions/8306576/php-mail-what-does-f-do
  • 如何在 cakephp 中使用这个标志?
  • 顺便说一句,请务必提及您的确切 CakePHP 版本!

标签: php email cakephp


【解决方案1】:

如果您的服务器未在安全模式下运行,您可以在 additionalParameters 电子邮件配置选项中定义标志,该选项是 MailTransport 独有的。

class EmailConfig {

    public $yourConfig = array(
        'transport' => 'Mail',
        'from' => 'from@example.com',
        // ...
        'additionalParameters' => '-ffrom@example.com'
    );

    // ...
}

注意-f 标志用于定义发送者,而不是接收者,所以它很可能应该设置为from@...,而不是@987654329 @。

【讨论】:

  • 请原谅我的肤浅。 cakePHP 版本是 2.4.6。这就是问题所在:我的域是 www.dominio.com。同一域上的联系页面向 info@dominio.com 发送电子邮件。在这些情况下,电子邮件永远不会到达。我必须将 -f 标志放在地址之前。您建议的方法会导致此消息:“发生内部错误”。你能帮助我吗?谢谢
  • @Sandro 您必须检查您的日志 (app/tmp/logs/),它们应该包含确切的错误消息。如果没有,请确保debug mode已启用,logging配置正确,然后重试。
  • @Sandro 抱歉,查看了错误的来源,确切的错误消息尚未在 2.4.6 中记录。尝试 2.5 测试版,或暂时从 MailTransport::_mail() 中的 mail() 命令中删除 @ 字符。
  • 我不知道会发生什么。如果我插入 -f 标志,邮件就会到达,但我得到“错误 500”。日志文件告诉我:2014-04-03 09:35:46 错误:[SocketException] 无法发送电子邮件。请求 URL:/xxx/Customers/contact 堆栈跟踪:#0 lib/Cake/Network/Email/MailTransport.php(51): MailTransport->_mail('info@xxx...', 'Richiesta di: S.. .', 'xxx...', 'From: xxx@xx...', '-f info@xxx...') #1 /lib/Cake/Network/Email/CakeEmail.php(1122): MailTransport->send(Object(CakeEmail)) #2 /app/Controller/CustomersController.php(48): CakeEmail->send('xxx')
  • @Sandro 你按照我的建议做了吗?针对 2.5.0 进行了测试,或者暂时从 mail() 调用中删除了 @ 以便能够看到确切的错误消息(以防任何被触发)?您还可以创建一个简单的脚本,使用给定的参数调用mail(),以查看是否弹出任何错误并从那里找出问题。在这一点上我没有什么可以告诉你的了,你必须自己做一些调试。
猜你喜欢
  • 2014-01-17
  • 2011-11-12
  • 2013-04-08
  • 2013-04-01
  • 2012-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多