本篇内容主要为大家提供的是php使用pear_smtp发送邮件。感兴趣的同学可以参考学习下,具体内容如下: 这里有新鲜出炉的PHP面向对象教程,程序狗速度看过来! PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言
本篇内容主要为大家提供的是php使用pear_smtp发送邮件。感兴趣的同学可以参考学习下,具体内容如下:
这里有新鲜出炉的PHP面向对象教程,程序狗速度看过来!
PHP开源脚本语言
PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。 这篇文章主要介绍了php使用pear_smtp发送邮件的相关资料,内容很丰富,感兴趣的小伙伴们可以参考一下PHP自带的mail函数比较蛋疼,在win下配置了sendmail还是无法发送邮件。而使用第三方的pear/mail可以直接通过smtp连接邮件发送服务器。如(smtp.163.com)。从而没有必要在本机上安装sendmail等类似软件。 确保PEAR Mail包已经安装。
<?php
require_once "vendor/autoload.php";
$from = "test<[email protected]>";
$to = "test <[email protected]>";
$subject = "Hi!";
$body = "Hi,nnHow are you?";
$host = "smtp.163.com";
$port = "25";
$username = "[email protected]";
$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 successfully 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 <[email protected]>";
$to = "To: To Name <[email protected]>";
$receiver = "[email protected]";
// Setting up the headers
$headers["From"] = $from;
$headers["To"] = $to;
$headers["Subject"] = $subject;
$headers["Reply-To"] = "[email protected]";
$headers["Content-Type"] = "text/plain; charset=ISO-2022-JP";
$headers["Return-path"] = "[email protected]";
// Setting up the SMTP setting
$smtp_info["host"] = "smtp.server.com";
$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的路径,下载net_smtp包 在php.ini文件中根据你的操作系统选择不同的设置方法
; UNIX: "/path1:/path2"
include_path = ".:./php/pear"
;
; Windows: "path1;path2"
;include_path = ".;c:phppear"
require 'Net/SMTP.php';
$host = '126.com';//smtp服务器的ip或域名
$username= 'arcow';//登陆smtp服务器的用户名
$password= 'secret';//登陆smtp服务器的密码
$from = '[email protected]'; //谁发的邮件
$rcpt = array('[email protected]', '[email protected]');//可设多个接收者
$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 . "rn" . $body))) {
die("Unable to send datan");
}
/* 断开连接 */
$smtp->disconnect();
echo "发送成功!";
?>
以上就是本文的全部内容,php利用pear_smtp发送邮件的三个案例,希望对大家学习php程序设计有所帮助。
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!