从邮件功能php发送电子邮件

Posted

技术标签:

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

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

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

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

【问题讨论】:

您是否正在使用包(wamp、mamp、lamp 或 xampp)在本地服务器上工作? 是的............ 【参考方案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 二进制文件开头。这个二进制文件如何发送电子邮件。它使用什么凭据?

以上是关于从邮件功能php发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

使用php邮件功能防止发送的电子邮件被视为垃圾邮件

梨邮件功能密件抄送不会发送

PHP邮件功能没有完成电子邮件的发送

PHP邮件功能没有完成电子邮件的发送

PHP邮件功能没有完成电子邮件的发送

PHP邮件功能没有完成电子邮件的发送