Windows PHP通过外部SMTP发送电子邮件

时间:2014-05-19 20:41:16

标签: php windows email smtp

我试图让内部错误跟踪软件启动并运行。他们中的大多数是用PHP编写的,我们的实时服务器没有设置,我发现的ASPX跟踪器也不会工作,因为我们的实时服务器运行了十年之久的安装它的服务器软件和升级它打破了我们为客户托管的其他两个站点。

所以我一直把旧的渲染机器(Windows XP)变成我可以扔进地下室的内部网服务器。我安装了Linux ...如果a)重新安装操作系统不是一个全天工作,而b)如果办公室里的任何人真的熟悉Linux

反正。我已经安装了WAMP并且工作得很好(一个小问题是"放置/离线菜单项不起作用,但我可以手动更改配置)并且Mantis已经准备就绪去,除了一件事。

Mantis无法发送电子邮件。

我已经尝试了十几种不同的做事方式:使用gmail,使用我们自己的中继服务器,使用"假的" sendmail的东西,以及Mantis,PHP和sendmail之间的各种配置选项。

没有任何作用,我对操作失败的地方给出的反馈非常少。

我有什么遗失的东西吗?我有一个人建议我需要安装Window的SMTP服务(我需要挖掘和/或刻录Windows XP光盘)。只有一个指南提到启用PHP的OpenSSL(但没有说明是否需要配置或如何配置)。

2 个答案:

答案 0 :(得分:0)

您可以使用“假sendmail”。

大多数人使用此工具将电子邮件写入磁盘以进行测试,但是 该工具允许将电子邮件转发到SMTP服务器。

  1. 下载:http://www.glob.com.au/sendmail/sendmail.zip
  2. 在“sendmail.ini”中配置虚假sendmail以包含您的SMTP凭据
  3. 在CLI上测试sendmail并检查您的SMTP帐户是否有外发邮件
  4. 配置php.ini(指令“sendmail_path”)
    • sendmail_path =“sendmail.exe -t”
  5. 从PHP脚本测试mail()函数
  6. 配置文件:

    <强> sendmail.ini

    [sendmail]
    smtp_server=smtp.gmail.com
    smtp_port=587
    error_logfile=error.log
    debug_logfile=debug.log
    auth_username=****@gmail.com
    auth_password=*******
    force_sender=****@gmail.com
    

    <强>的php.ini:

    sendmail_path = "\"C:\sendmail\sendmail.exe\" -t"
    

答案 1 :(得分:0)

随着时间的推移,我的问题只是通过使用不同的中继服务器来解决。由于某种原因,Verizon决定只是“nope”而没有说出原因(不是说PHP有很多方面的问题)无论如何都有电子邮件的错误消息。)

http://mandrill.com/提供免费的SMTP服务(每月发送的前12,000封电子邮件),一旦我开始使用它,bam,一切正常。

我不需要sendmail(在我的MantisBT选项中使用PHP_SMTP而不是PHP_SENDMAIL或PHP_MAIL),但其他人可能需要。