【问题标题】:php mail() functionphp邮件()函数
【发布时间】:2011-12-12 20:03:30
【问题描述】:

我是 php 编码的新手,对网络不太了解(我是 2 周前开始的),所以请多多包涵。

  1. 最近我遇到了mail() 函数。首先,我只是用mail()写了简单的代码,没有对php.ini文件做任何修改,自然是不行。所以我用谷歌搜索了原因;我发现对于 linux 的 [mail function] 我们必须输入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 帐户发送消息)?

【问题讨论】:

  • PHP 只需要一个 SMTP 服务器来发送邮件。不管是您的 ISP 还是 Yahoo 还是 Google 的(您的 ISP 与 Yahoo 的 SMTP 服务器无关)。 sendmail_path 应该设置为您服务器上的 sendmail 可执行文件(如果您不知道,请不要碰这个)。

标签: php email smtp


【解决方案1】:
  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 本身不支持电子邮件身份验证。

【讨论】:

  • 我确实尝试发送电子邮件而不进行任何修改,但无济于事
  • 是否像从我的机器发送邮件我必须使用我的 isp 的 smtp 服务器但要从雅虎发送它我必须使用雅虎的 smtp...我可以访问雅虎的 smtp 服务器吗如果我有帐户,则通过代码
  • @SnuS - 如果您可以使用 Outlook 或 Thunderbird 发送邮件(我不知道雅虎是否是这种情况),您可以使用 PHP 发送邮件。
  • @alvaro...我想你不明白我只是在问,当我们通过登录 yahoo.com(正常方式)从我们的 yahoo id 发送电子邮件时,我们使用的是 yahoo smtp 服务器....如果我将我的 isp 的 smtp 地址放在 sendmail_path 中(在 php.ini 中),我将使用我的 isp 的 smtp 服务器
【解决方案2】:

您应该联系您的 ISP 以获取您的 SMTP 服务器名称和凭据。许多 SMTP 服务器在发送邮件之前需要有效的登录凭据,以避免垃圾邮件发送者未经授权使用。

Apache 可以与 Sendmail 等邮件服务器交互,但没有内置支持。

请参阅Sendmail website 了解有关安装您自己的 SMTP 服务器的信息,或使用为您的操作系统或发行版提供的软件包进行安装。

【讨论】:

  • 所以有没有办法(除了使用)我可以直接通过代码发送邮件...另请参阅我刚刚添加的第三个问题
  • 没错。您必须有权访问邮件服务器才能处理您的电子邮件并将其传递给预期的收件人。
  • 请看我刚刚添加的第三个问题
  • 有一个脚本(phpmailer phpmailer.worxware.com),里面有很多发送邮件的功能。
猜你喜欢
  • 2011-06-01
  • 1970-01-01
  • 2017-01-05
  • 2012-05-31
  • 1970-01-01
  • 2019-01-30
  • 2016-10-01
  • 2011-06-05
  • 1970-01-01
相关资源
最近更新 更多