php结合phpmailer调用smtp发送邮件

南夏1年前企业邮箱

php本身提供了一个邮件发送函数mail,可以在程序中直接发送电子邮件,不过该函数要求服务器支持sendmail或者必须设置一台不需要中继的邮件发送服务器,但现在要找到一台不需要身份验证的邮件发送中继几乎不可能。

所以使用mail函数往往无法成功发送email。

自己如果熟悉SMTP协议,结合socket功能就可以编写高效稳定的邮件发送程序,但对一般用户来说太困难.好在互联网上已经有很多别人编写好的邮件发送模块,我们只需要下载后简单调用即可,十分方便。

在此我们给用户推荐一个php下功能十分强大,易用且免费的SMTP类模块-PHPMailer,(下载地址http://downinfo.myhostadmin.net/mail/PHPMailer-BMH_v5.0.0.zip)PHPMailer是一个用于发送电子邮件的PHP函数包。它提供的功能包括:

*.在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址
*.支持多种邮件编码包括:8bit,base64,binary和quoted-printable
*.支持SMTP验证
*.支持冗余SMTP服务器
*.支持带附件的邮件和Html格式的邮件
*.自定义邮件头
*.支持在邮件中嵌入图片
*.调试灵活
*.经测试兼容的SMTP服务器包括:Sendmail,Postfix,Imail,Exchange等
*.可运行在任何平台之上

http://downinfo.myhostadmin.net/mail/phpmail_test.rar(可以下载此压缩包,解压后上传到网站根目录,修改里面的send.php邮箱信息测试发信)

一:前台表单

<html>
<body>
<h3>phpmailer Unit Test</h3>
请你输入<font color="#FF6666">收信</font>的邮箱地址:
<form name="phpmailer" action="send.php" method="post">
<input type="hidden" name="submitted" value="1"/>
邮箱地址: <input type="text" size="50" name="address" />
<br/>
<input type="submit" value="发送"/>
</form>
</body>
</html>


二:后台PHP程序


<?php
require("class.phpmailer.php"); //下载的文件必须放在该文件所在目录
$mail = new PHPMailer(); //建立邮件发送类
$address = $_POST['address'];
$mail->IsSMTP(); // 使用SMTP方式发送
$mail->Host = "mail.xxxxx.com"; // 您的企业邮局域名
$mail->SMTPAuth = true; // 启用SMTP验证功能
$mail->Username = "user@xxxx.com"; // 邮局用户名(请填写完整的email地址)
$mail->Password = "******"; // 邮局密码

$mail->From = "user@xxxx.com"; //邮件发送者email地址
$mail->FromName = "您的名称";
$mail->AddAddress("$address", "");//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")
//$mail->AddReplyTo("", "");

//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件
//$mail->IsHTML(true); // set email format to HTML //是否使用HTML格式

$mail->Subject = "PHPMailer测试邮件"; //邮件标题
$mail->Body = "Hello,这是测试邮件"; //邮件内容
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可以省略

if(!$mail->Send())
{
 echo "邮件发送失败. <p>";
 echo "错误原因: " . $mail->ErrorInfo;
 exit;
}

echo "邮件发送成功";
?>

参考网址: http://blog.51yip.com/php/910.html/comment-page-1 

相关文章

asp Jmail发送邮件的示例2

把以下全部代码内容保存为jmail.asp文件,里面的邮箱信息修改为自己的即可<%@ Language=VBScript %><%'=====================...

如何提升海外邮件的发信成功率?

如何提升海外邮件的发信成功率?

如果是发到国外hotmail,gmail等邮局因我方IP被封、IP发信频率太高等 原因 被对方拒收的,系统会自动通过其他中继自动尝试,以此提升发信成功率。 但以下情况不会使用中继(退信中提示...no...

企业邮箱如何设置公共通讯录

企业邮箱如何设置公共通讯录

有的时候我们需要共享一些非企业内部的联系人,这个时候,可以将联系人加入到公共通讯录中。1、登录邮局管理面板,点击“邮局管理”。2、在邮局管理中,点击“公共通讯录”--“新增联系人”,就可以添加公共联系...

通过foxmail同步其他邮箱邮件到我司邮箱

通过foxmail同步其他邮箱邮件到我司邮箱

此情形只适用之前邮箱一直在foxmail接收管理的邮局账号新加foxmail中的账号,因收取有一定延时,可能会导致邮件不全.如是新加账号,请确保邮件统计中数量不变化后,才能按照下面步骤导出和导入邮件....

企业邮箱的CardDAV是什么,如何设置?

企业邮箱的CardDAV是什么,如何设置?

CardDAV是一种通讯录同步的开放协议。使用CardDAV同步,可以将服务器的通讯录同步到客户端通讯录中。且客户端对通讯录的添加、修改或者删除操作,同样会和服务器同步。一、IOS系统如何设置Card...

如何挂载企业邮箱网盘到windows本地

如何挂载企业邮箱网盘到windows本地

我司企业邮箱网盘支持本地挂载功能,可以不用任何客户端,方便的将企业邮箱的个人网盘和企业网盘挂载到本机,并像本地硬盘一样使用,支持复制、粘贴、删除、改名等操作,将极大的方便用户对网盘文件的使用,推荐设置...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。