PHP 邮件() 函数

标签 php email smtp

我是 php 编码新手,对网络了解不多(我两周前开始),所以请耐心等待。

  1. 最近我遇到了mail()功能。首先,我只是使用 mail() 编写了简单的代码如果没有对 php.ini 文件进行任何修改,自然是行不通的。于是我用谷歌搜索了原因;我发现对于linux,在[邮件功能]中我们必须输入sendmail_path smtp服务器名称。我在 yahoo.com 上有一个帐户,因此我输入了 smtp.mail.yahoo.com,但这似乎不起作用。所以我再次谷歌搜索,发现那里需要你的ISP的smtp服务器。我的程序是一个简单的测试程序,我希望通过 php 代码看到收件人收件箱中的邮件。

  2. 另外,apache 服务器(我用来响应 php 代码)不支持 smtp 吗?是什么阻止了它发送消息?如果您觉得我需要阅读,请帮助我提供链接。

  3. yahoo/gmail 的 smtp 和我的 ISP 的 smtp 之间有区别吗?还是我的 ISP 的 smtp 与 yahoo 的 smtp 通信来发送邮件(因为虽然我们的 ISP 发生了变化,但我们继续使用相同的 yahoo 帐户发送邮件) )?

最佳答案

  1. 您误读了信息。 sendmail_path指令不需要服务器名称,它需要 sendmail 二进制文件的路径。在 Linux 下,您无法使用带有普通 mail() 函数的外部 SMTP 服务器。

  2. Apache 是一个 Web 服务器。如果提供 HTTP 但不提供任何其他服务(例如 SMTP 或 FTP)。也许您对 Microsoft IIS 感到困惑。

  3. 不确定我是否理解这个问题,但是现在几乎没有人允许使用他的 SMTP 服务器发送第三方邮件。如果您想以 @yahoo.com 的身份发送电子邮件,则必须使用 Yahoo 的 SMTP 服务器。

一些额外的提示:

  • Linux 服务器通常安装有本地 MTA(邮件传输代理),因此您不必处理外部 SMTP 服务。目前尚不清楚您在接触任何内容之前是否尝试过发送电子邮件。

  • 如果您想通过 Yahoo 或 Gmail 或其他类似服务发送电子邮件,您最好使用一些第三方 PHP 库,例如 PEAR::Mail、PHPMailer 或 Swift Mailer。 PHP 本身不支持电子邮件身份验证。

关于PHP 邮件() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8480149/

相关文章:

php - 使用 Zend (PHP) 在 Gmail 中包含客户的默认电子邮件签名

ssl - Asp.netSendEmail SMTP 服务器要求安全连接或客户端未通过身份验证

php - PHP 有自动激活吗?

Javamail ISO-8859-1 格式

email - 邮件 "Can' t continue”,用于 AppleScript 函数

c# - 通过 Gmail 在 .NET 中发送电子邮件

php - 使用文件处理函数将逗号放入txt文件中

php - 由于主键为空,我无法在数据库中插入数据

javascript - div 替换它之后的所有内容,AJAX、PHP、JAVASCRIPT

php - Facebook 登录 : Which parameter should my app identify the user with? id,或电子邮件?