【问题标题】:sending e-mail from mail function php从邮件功能php发送电子邮件
【发布时间】:2014-05-23 02:58:37
【问题描述】:

我可以使用 php 邮件功能发送电子邮件。其他语言也有类似的功能。

mail(to,subject,message,headers,parameters)

我的印象是,要发送电子邮件,您需要 SMTP 凭据。此功能如何发送电子邮件?它使用哪个 SMTP 服务器?它是如何工作的?

【问题讨论】:

  • 您是否正在使用包(wamp、mamp、lamp 或 xampp)在本地服务器上工作?
  • 是的............

标签: php email smtp


【解决方案1】:

在 php.ini 中,有一个名为 SMTP 的字段。这是您设置 SMTP 服务器的地方。我认为它默认为本地主机。其他相关字段包括 smtp_port 和 sendmail_from。您将这些用于 Win32 系统。

【讨论】:

    【解决方案2】:

    你必须配置你的服务器来发送电子邮件..

    您可以使用 sendmail 包从 localhost 发送邮件,sendmail 包在 XAMPP 中内置。 因此,如果您使用的是 XAMPP,那么您可以轻松地从 localhost 发送邮件。

    例如,您可以配置C:\xampp\php\php.inic:\xampp\sendmail\sendmail.ini 让gmail 发送邮件。

    C:\xampp\php\php.ini 中找到extension=php_openssl.dll 并从该行的开头删除分号,以使SSL 为本地主机的gmail 工作。

    在 php.ini 文件中找到 [mail function] 并更改

    SMTP=smtp.gmail.com
    smtp_port=587
    sendmail_from = my-gmail-id@gmail.com
    sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
    

    现在打开C:\xampp\sendmail\sendmail.ini。将 sendmail.ini 中的所有现有代码替换为以下代码

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

    现在你已经完成了!创建带有邮件功能的php文件并从本地主机发送邮件。

    PS:不要忘记替换上面代码中的 my-gmail-idmy-gmail-password。 此外,如果您从上面复制设置,请不要忘记删除重复的键。例如,如果在 php.ini 文件中有另一个 sendmail_path,请在下面的行中添加注释:sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"

    参考LINK

    【讨论】:

      【解决方案3】:

      PHP mail() 函数通常通过本地邮件服务器发送,通常在 Linux、BSD 和 OS X 平台上以 sendmail 二进制文件为前端,但是,Windows 通常不包含本地邮件服务器。

      使用 mail() 函数可能需要做很多工作。而是使用一个外部库,它可以为您大大简化这项工作。一个这样的例子是PHPMailer

      【讨论】:

      • 通常在 Linux 上以 sendmail 二进制文件开头。这个二进制文件如何发送电子邮件。它使用什么凭据?
      猜你喜欢
      • 2012-02-04
      • 2021-05-10
      • 2012-12-12
      • 2023-03-10
      • 1970-01-01
      • 2020-03-26
      • 1970-01-01
      • 2021-07-25
      相关资源
      最近更新 更多