1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php pear mail smtp 不验证 怎么在php中使用pear_smtp实现一个邮件发送功能

php pear mail smtp 不验证 怎么在php中使用pear_smtp实现一个邮件发送功能

时间:2023-05-05 19:43:28

相关推荐

php pear mail smtp 不验证 怎么在php中使用pear_smtp实现一个邮件发送功能

怎么在php中使用pear_smtp实现一个邮件发送功能

发布时间:-12-22 16:24:35

来源:亿速云

阅读:76

作者:Leah

怎么在php中使用pear_smtp实现一个邮件发送功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

PHP自带的mail函数比较蛋疼,在win下配置了sendmail还是无法发送邮件。而使用第三方的pear/mail可以直接通过smtp连接邮件发送服务器。如()。从而没有必要在本机上安装sendmail等类似软件。

确保PEAR Mail包已经安装。<?php

require_once"vendor/autoload.php";

$from="test";

$to="test";

$subject="Hi!";

$body="Hi,\n\nHowareyou?";

$host="";

$port="25";

$username="test@";

$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("

".$mail->getMessage()."

");

}else{

echo("

Messagesuccessfullysent!

");

}

?>

这是非加密方式。

PHPer 多数使用 mail 函数来发送邮件,但我们可以使用其他的 SMTP 服务器来发送,这里推荐使用 PEAR's mail package 来发送邮件。$subject="ThismailissentfromSMTP.";

$mail_body="ThisisthebodyofthemailwhichissentusingSMTP.";

$from="From:FromName";

$to="To:ToName";

$receiver="toaddress@";

//Settinguptheheaders

$headers["From"]=$from;

$headers["To"]=$to;

$headers["Subject"]=$subject;

$headers["Reply-To"]="reply@";

$headers["Content-Type"]="text/plain;charset=ISO--JP";

$headers["Return-path"]="returnpath@";

//SettinguptheSMTPsetting

$smtp_info["host"]="";

$smtp_info["port"]="25";

$smtp_info["auth"]=true;

$smtp_info["username"]="smtp_user";

$smtp_info["password"]="smtp_password";

//CreatingthePEARmailobject:

$mail_obj=&Mail::factory("smtp",$smtp_info);

//Sendingthemailnow

$mail_sent=$mail_obj->send($receiver,$headers,$mail_body);

//Ifanyerrortheseeforthathere:

if(PEAR::isError($mail_sent)){print($mail_sent->getMessage());}

第三个案例:

在使用以下源代码前,请配置好pear的路径,下载net_smtp包

在php.ini文件中根据你的操作系统选择不同的设置方法;UNIX:"/path2:/path3"

include_path=".:./php/pear"

;

;Windows:"\path2;\path3"

;include_path=".;c:\php\pear"

require'Net/SMTP.php';

$host='';//smtp服务器的ip或域名

$username='arcow';//登陆smtp服务器的用户名

$password='secret';//登陆smtp服务器的密码

$from='arcow@';//谁发的邮件

$rcpt=array('test@','arcow@');//可设多个接收者

$subj="Subject:你是谁\n";//主题

$body="testit";//邮件内容

/*建立一个类*/

if(!($smtp=newNet_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("无法设置发送者邮箱为\n");

}

/*设置接收邮件者*/

foreach($rcptas$to){

if(PEAR::isError($res=$smtp->rcptTo($to))){

die("邮件无法投递到:".$res->getMessage()."\n");

}

}

/*开始发送邮件内容*/

if(PEAR::isError($smtp->data($subj."\r\n".$body))){

die("Unabletosenddata\n");

}

/*断开连接*/

$smtp->disconnect();

echo"发送成功!";

?>

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。