Skip to main content

使用SMTP身份验证从PHP脚本发送电子邮件

Anonim

从PHP脚本发送电子邮件简单,快速,简单……如果有效!

PHP的一部分原因 邮件() 功能这么简单就是它缺乏灵活性,但一个问题就是库存PHP 邮件() 通常不允许您使用您选择的SMTP服务器,它不支持SMTP身份验证。

幸运的是,克服PHP的内置缺点并不困难。对于大多数电子邮件用户而言,免费的PEAR Mail软件包提供了所需的所有功能和灵活性,并通过所需的外发邮件服务器进行身份验证。为了增强安全性,还支持使用PEAR Mail发送邮件的加密SSL连接。

如何使用SMTP身份验证从PHP脚本发送电子邮件

首先,安装PEAR Mail包。通常情况下,这已经为您使用PHP 4及更高版本完成,但如果您不确定是否已经拥有它,请继续安装它。

复制此代码:

require_once 'Mail.php'; $from = 'Sandra Sender >'; $to = 'Ramona Recipient '; $subject = 'Hi!'; $body = 'Hi, How are you?'; $host = 'mail.example.com'; $username = 'smtp_username'; $password = 'smtp_password'; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo('

' . $mail->getMessage() . '

'); } else { echo('

Message successfully sent!

'); }

在我们的示例中找到所有粗体文本,并将脚本的这些区域更改为与您相关的任何区域。那些是你唯一的领域 必须 改变PHP脚本的顺序,但也要确保调整主题和正文。

  • :您希望从中发送邮件的电子邮件地址
  • :收件人的电子邮件地址和名称
  • 主办:您的传出SMTP服务器名称
  • 用户名:SMTP用户名(通常与用于检索邮件的用户名相同)
  • 密码:SMTP身份验证的密码

注意: 上面的示例是一个PHP脚本,它发送带有SMTP身份验证的电子邮件 无 SSL加密。如果您也想要加密,请再次使用此脚本,将粗体文本与您的信息交换。

require_once 'Mail.php'; $from = 'Sandra Sender >'; $to = 'Ramona Recipient >'; $subject = 'Hi!'; $body = 'Hi, How are you?'; $host = 'ssl://mail.example.com'; $port = '465'; $username = 'smtp_username'; $password = 'smtp_password'; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo('

' . $mail->getMessage() . '

'); } else { echo('

Message successfully sent!

'); }