php使用pear_smtp发送邮件
网络编程 2021-07-05 09:10www.168986.cn编程入门
这篇文章主要介绍了php使用pear_smtp发送邮件的相关资料,内容很丰富,感兴趣的小伙伴们可以参考一下
PHP自带的mail函数比较蛋疼,在win下配置了sendmail还是无法发送邮件。而使用第三方的pear/mail可以直接通过smtp连接邮件发送服务器。如(smtp.163.)。从而没有必要在本机上安装sendmail等类似软件。
确保PEAR Mail包已经安装。
<?php require_once "vendor/autoload.php"; $from = "test<test@163.>"; $to = "test <test@outlook.>"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $host = "smtp.163."; $port = "25"; $username = "test@163."; $password = "test123"; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, // 'debug'=>true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo("<p>" . $mail->getMessage() . "</p>"); } else { echo("<p>Message suessfully sent!</p>"); } ?>
这是非加密方式。
PHPer 多数使用 mail 函数来发送邮件,但我们可以使用其他的 SMTP 服务器来发送,这里推荐使用 PEAR's mail package 来发送邮件。
$subject = "This mail is sent from SMTP."; $mail_body = "This is the body of the mail which is sent using SMTP."; $from = "From: From Name <fromaddress@xpertdeveloper.>"; $to = "To: To Name <toaddress@xpertdeveloper.>"; $receiver = "toaddress@xpertdeveloper."; // Setting up the headers $headers["From"] = $from; $headers["To"] = $to; $headers["Subject"] = $subject; $headers["Reply-To"] = "reply@address."; $headers["Content-Type"] = "text/plain; charset=ISO-2022-JP"; $headers["Return-path"] = "returnpath@address."; // Setting up the SMTP setting $smtp_info["host"] = "smtp.server."; $smtp_info["port"] = "25"; $smtp_info["auth"] = true; $smtp_info["username"] = "smtp_user"; $smtp_info["password"] = "smtp_password"; // Creating the PEAR mail object : $mail_obj =& Mail::factory("smtp", $smtp_info); // Sending the mail now $mail_sent = $mail_obj->send($receiver, $headers, $mail_body); // If any error the see for that here: if (PEAR::isError($mail_sent)) { print($mail_sent->getMessage());}
第三个案例
在使用以下源代码前,请配置好pear的路径,下载_smtp包
在php.ini文件中根据你的操作系统选择不同的设置方法
; UNIX: "/path1:/path2" include_path = ".:./php/pear" ; ; Windows: "\path1;\path2" ;include_path = ".;c:\php\pear" require 'Net/SMTP.php'; $host = '126.';//smtp服务器的ip或域名 $username= 'arcow';//登陆smtp服务器的用户名 $password= 'secret';//登陆smtp服务器的密码 $from = 'arcow@126.'; //谁发的邮件 $rcpt = array('test@test.', 'arcow@126.');//可设多个接收者 $subj = "Subject: 你是谁\n";//主题 $body = "test it";//邮件内容 / 建立一个类 / if (! ($smtp = new Net_SMTP($host))) { die("无法初始化类Net_SMTP!\n"); } / 开始连接SMTP服务器/ if (PEAR::isError($e = $smtp->connect())) { die($e->getMessage() . "\n"); } / smtp需要身份验证 / $smtp->auth($username,$password,"PLAIN"); /设置发送者邮箱 / if (PEAR::isError($smtp->mailFrom($from))) { die("无法设置发送者邮箱为 <$from>\n"); } / 设置接收邮件者 / foreach ($rcpt as $to) { if (PEAR::isError($res = $smtp->rcptTo($to))) { die("邮件无法投递到 <$to>: " . $res->getMessage() . "\n"); } } / 开始发送邮件内容 / if (PEAR::isError($smtp->data($subj . "\r\n" . $body))) { die("Unable to send data\n"); } / 断开连接 / $smtp->disconnect(); echo "发送成功!"; ?>
以上就是本文的全部内容,php利用pear_smtp发送邮件的三个案例,希望对大家学习php程序设计有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程