【问题标题】:sending email to gmail in php codeigniter在 php codeigniter 中向 gmail 发送电子邮件
【发布时间】:2013-05-06 00:31:11
【问题描述】:

我必须向 gamil 发送电子邮件以在我的网站上注册帐户。我正在使用 wamp,win 7,codeigniter。并通过sendmail发送邮件。我已完成所有必要的更改,即

在 php.ini 中

; For Win32 only.
SMTP = smtp.gmail.com
smtp_port = 465
; For Win32 only.
;sendmail_from = myemail@gmail.com
sendmail_path ="C:\wamp\sendmail\sendmail.exe -t" 

在 sendmail.ini 中

smtp_server=smtp.gmail.com
smtp_port=465
auth_username=myemail@gmail.com
auth_password=mypassword

但它显示此错误而不是发送电子邮件。

消息:mail():无法在“localhost”端口 25 连接到邮件服务器,请验证 php.ini 中的“SMTP”和“smtp_port”设置或使用 ini_set() 文件名:libraries/Email.php

它仍然在端口 25 上报错,但我使用的是端口 465。这可能是什么原因?我做错了什么? 任何帮助。

【问题讨论】:

  • 您不必使用“sendmail”程序。将 php.ini 重置为以前的,只需使用 codeigniter 发送邮件;按照stackoverflow.com/a/1622996 中的说明进行操作。如果您使用的是 codeigniter,则不需要在 localhost 服务器上进行额外配置(codeigniter 已经有一个内置的 php 邮件程序库)。

标签: php email sendmail.exe


【解决方案1】:

我认为您必须重新启动服务器。

编辑 我找到了this thread 的灵魂解决方案:

Add the following code to the top of your email script if your mail script continues to fail.


// Please specify your Mail Server - Example: mail.yourdomain.com.
ini_set("SMTP","mail.YourDomain.com");

// Please specify an SMTP Number 25 and 8889 are valid SMTP Ports.
ini_set("smtp_port","25");

// Please specify the return address to use
ini_set('sendmail_from', 'ValidEmailAccount@YourDomain.com');

【讨论】:

  • @Daniel,这些步骤与我在 php.ini 文件中所做的更改相同。
  • 我知道,但该线程的作者说他在他的 php.ini 中也有正确的配置 - “但是,我的 php.ini 配置正确”。祝你有美好的一天。
  • 这些行应该放在哪里?在我的 php 邮件发送方法或其他地方?
  • 我会首先尝试将这些行放在您使用 mail() 函数的行上方,这会给您一个错误。
【解决方案2】:

我只是在 C:\wamp\bin\apache\apache2.2.22\bin\php.ini 而不是 C:\wamp\bin\php\php.ini 中进行了这些更改。它有效:)

【讨论】:

    猜你喜欢
    • 2014-01-24
    • 2012-05-22
    • 2014-10-30
    • 1970-01-01
    • 2012-03-22
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多