从邮件功能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.ini
和c:\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-id 和 my-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发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章