【问题标题】:why php mail function not work in xampp为什么php邮件功能在xampp中不起作用
【发布时间】:2013-05-29 05:16:00
【问题描述】:

我在使用 xampp 时遇到问题。我想检查邮件表格,但我看不到任何结果。 我在本网站中像本教程一样配置 Mercury/32:

http://system66.blogspot.com/2010/01/how-to-send-mail-from-localhost-with.html

我通过 Outlook 检查电子邮件,它的工作。 我检查了通过 Mercury 在管理面板中发送邮件发送邮件,它工作正常。

但是当我使用邮件 php 功能时,我无法发送电子邮件,也无法通过 Outlook 接收此电子邮件。

为什么?

请帮帮我

【问题讨论】:

  • 您好,欢迎来到 SO。首先,向我们展示一些代码,以便我们了解您尝试了什么以及如何修复它。
  • 你的mail调用返回什么值

标签: php email outlook xampp mercury-mta


【解决方案1】:

为此,您需要致电您的 ISP 并要求他们提供 smtp out 服务器地址。完成后,您需要在 C:xampp\php\php.ini 文件中配置 SMTP 设置,或者您可以在 php 脚本的开头添加以下行。

ini_set("SMTP","yoursmtpoutgoingserver");

【讨论】:

    【解决方案2】:

    您必须在 php.ini 文件中设置您的 SMTP 服务器设置

    [mail function]
    ; For Win32 only.
    ; "http://php.net/smtp"
    SMTP = localhost
    ; "http://php.net/smtp-port"
    smtp_port = 25
    

    如果您不在本地运行邮件服务器,则需要访问远程服务器,例如您的 isp 或 gmail

    [mail function]
    ; For Win32 only.
    SMTP = mail.yourserver.com
    smtp_port = 25
    auth_username = smtp-username
    auth_password = smtp-password
    sendmail_from = you@yourserver.com
    

    【讨论】:

    • 我们将 Outlook 用于电子邮件客户端。因此,只需获取 Outlook 信息并将其插入即可。对吗?
    【解决方案3】:

    这对我有用,希望对你有帮助:

    1. 编辑您的 php.ini (xampp\php\php.ini)。搜索 [mail function] 并相应地更改这些参数。
    2. SMTP = smtp.gmail.com
    3. smtp_port = 587
    4. sendmail_from = [your_gmail_username]@gmail.com 注意:此 gmail 帐户将用于发送电子邮件
    5. sendmail_path = “\”D:\xampp\sendmail\sendmail.exe\”-t” 注意:我确实在 D:\xampp
    6. 安装了我的 xampp
    7. 编辑您的 sendmail.ini (xampp\sendmail\sendmail.ini)

    评论“Mercury”和“A free mail service example”内容如下:
    # 水星
    #account 水星
    #host 本地主机
    #来自 postmaster@localhost
    #auth 关闭
    # 免费邮件服务
    #account Hotmail
    #tls 开启
    #tls_certcheck 关闭
    #host smtp.live.com
    #来自 [exampleuser]@hotmail.com
    #auth 开启
    #user [exampleuser]@hotmail.com
    #password [示例密码]

    1. 添加您要用来发送邮件的帐户。在我的示例中,我配置了 Gmail 帐户,如下所示:
      1. 帐户 Gmail
    2. tls 开启
    3. tls_certcheck 关闭
    4. 主机 smtp.gmail.com
    5. 来自 [your_gmail_username]@gmail.com
    6. 授权开启
    7. 用户 [your_gmail_username]@gmail.com
    8. 密码 [your_gmail_password]
    9. 587 端口

      1. 如下图设置默认帐号为Gmail:

      帐户默认值:Gmail

    【讨论】:

      【解决方案4】:

      我明白了。我设置了这个配置,现在我可以在 Outlook 中收到我发送的电子邮件:

      我只需要配置 D:\xampp\sendmail\sendmail.ini 默认包含一行

      smtp_server=mail.mydomain.com
      

      我不得不把它改成

      smtp_server=localhost
      

      无需在旧版本的 XAMPP 中进行配置。 [邮件功能]的正确配置在 D:\xampp\php\php.ini

      ; XAMPP:如果您想使用 SMTP 服务器,请将此注释掉 汞 SMTP = 127.0.0.1 smtp_port = 25

      ; XAMPP 重要说明 (1):如果 XAMPP 安装在基本目录中 带空格(例如 c:\program filesD:\xampp) fakemail 和 mailtodisk 不能正常工作。 ; XAMPP 重要提示(2):在这种情况下,请 复制根文件夹中的 sendmail 或 mailtodisk 文件夹(例如 C:\sendmail) 并将其用于 sendmail_path。

      ; XAMPP:如果您想使用 fakemail 转发到您的邮箱(sendmail 文件夹中的 sendmail.exe) sendmail_path = "\"D:\xampp\sendmail\sendmail.exe\" -t"

      ; XAMPP:如果您想使用 mailToDisk,请将其注释掉,它 将所有邮件写入 D:\xampp\mailoutput 文件夹 ; sendmail_path ="D:\xampp\mailtodisk\mailtodisk.exe"

      现在,我正在收件箱中接收邮件。请注意“D:\xampp\”是我的XAMPP安装路径。

      感谢所有朋友

      【讨论】:

        猜你喜欢
        • 2015-09-26
        • 2019-03-27
        • 1970-01-01
        • 1970-01-01
        • 2014-05-19
        • 2011-04-07
        • 2012-07-12
        相关资源
        最近更新 更多