【问题标题】:Yii-user: send activation mailYii-user:发送激活邮件
【发布时间】:2012-10-26 12:00:16
【问题描述】:

我在一个新的 php 项目中实现了 yii-user 模块,一切正常。但是当我注册时,程序应该会发送一封激活电子邮件,但是当我按下注册按钮时,我收到以下错误:

mail() [function.mail]: 无法在 >"localhost" 端口 25 连接到邮件服务器,请在 php.ini 中验证您的 "SMTP" 和 "smtp_port" 设置 > 或使用 ini_set()

我已经搜索并将我的ini文件更改为:

; For Win32 only.
; http://php.net/smtp
SMTP = smtp.gmail.com
; http://php.net/smtp-port
smtp_port = 465 
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = xxxxxxx@gmail.com

但这并没有帮助。

我该如何解决这个问题

【问题讨论】:

    标签: email yii php


    【解决方案1】:

    您的问题似乎是 Gmail 不是开放中继,这意味着它需要使用帐户进行身份验证才能接受外发邮件。请参阅 Gmail 页面 Problems sending mail。至少,您需要提供帐户信息,而我在您的示例中没有看到。

    【讨论】:

    • 我找到了this 教程。我跟着它,所以我提供了我的帐户信息等。我还在我的 gmail 设置中激活了 smtp。但它仍然不起作用。有谁知道 yii 框架的一个很好的电子邮件扩展,可以与 yii-user 结合使用?
    • 此时我建议使用您自己在其他机器(可能是虚拟的)上配置的电子邮件服务器进行测试。将问题划分为电子邮件服务配置和其他问题会很有用,无论是什么问题。
    【解决方案2】:

    检查您的托管服务是否阻塞了端口 465

    【讨论】:

    • 什么意思?该站点使用 wamp 在 localhost 下运行。
    • 该信息不在您的 OP 中。有时托管公司会阻止端口 465 进行传出连接。本地网络的防火墙也可能阻止了传出端口。即使这不是您的问题,也可能是其他人的问题。
    • 谷歌 smtp 也需要授权,但邮件无法做到(恕我直言)
    【解决方案3】:

    我通过安装和运行这个小程序解决了这个问题:http://smtp4dev.codeplex.com/

    此程序位于系统托盘中,不传递接收到的消息,webapp 运行正常!

    感谢大家的帮助!

    【讨论】:

      猜你喜欢
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 2011-02-23
      相关资源
      最近更新 更多