您的位置:首页 > 编程语言 > PHP开发

php 发送邮件

2013-01-25 15:07 190 查看
下载地址: http://code.google.com/a/apache-extras.org/p/phpmailer/downloads/list
先下载文件,然后把三个class.***.php文件放到项目文件下,

<?php

require("class.phpmailer.php");

function smtp_mail( $sendto_email, $subject, $body, $extra_hdrs, $user_name){

$mail = new PHPMailer();

$mail->IsSMTP(); // send via SMTP

$mail->Host = "smtp.qq.com"; // SMTP servers

$mail->SMTPAuth = true; // turn on SMTP authentication

$mail->Username = "365988537@qq.com"; // SMTP username 注意:普通邮件认证不需要加 @域名

$mail->Password = "123456"; // SMTP password

$mail->From = "365988537@qq.com"; // 发件人邮箱

//$mail->FromName = "管理员"; // 发件人

$mail->FromName = "=?utf-8?B?".base64_encode("管理员")."?="; // 发件人乱码时,可以这样处理:utf-8是你指定的邮件字符集

//$mail->FromName = "=?gb2312?B?".base64_encode("发件人")."?="; // 发件人

$mail->CharSet = "utf-8"; // 这里指定字符集!

$mail->Encoding = "base64";

$mail->AddAddress($sendto_email,"username"); // 收件人邮箱和姓名

//$mail->AddReplyTo("yourmail@yourdomain.com","yourdomain.com"); //抄送

//$mail->WordWrap = 50; // set word wrap 换行字数

//$mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment 附件

//$mail->AddAttachment("/tmp/image.jpg", "new.jpg");

$mail->IsHTML(true); // send as HTML

// 邮件主题

$mail->Subject = $subject;

// 邮件内容

$mail->Body = "

<html><head>

</head>

<body>

I love php。

</body>

</html>

";

$mail->AltBody ="text/html";

if(!$mail->Send())

{

echo "邮件发送有误 <p>";

echo "邮件错误信息: " . $mail->ErrorInfo;

exit;

}

else {

echo "$user_name 邮件发送成功!<br />";

}

}

// 参数说明(发送到, 邮件主题, 邮件内容, 附加信息, 用户名)

smtp_mail("design231@163.com", "欢迎使用phpmailer!", "NULL", "baidu.com", "username");

?>

/*************************************************

附件:

phpmailer 中文使用说明(简易版)

A开头:

$AltBody--属性

出自:PHPMailer::$AltBody

文件:class.phpmailer.php

说明:该属性的设置是在邮件正文不支持HTML的备用显示

AddAddress--方法

出自:PHPMailer::AddAddress(),文件:class.phpmailer.php

说明:增加收件人。参数1为收件人邮箱,参数2为收件人称呼。例 AddAddress("eb163@eb163.com","eb163"),但参数2可选,AddAddress(eb163@eb163.com)也是可以的。

函数原型:public function AddAddress($address, $name = '') {}

AddAttachment--方法

出自:PHPMailer::AddAttachment()

文件:class.phpmailer.php。

说明:增加附件。

参数:路径,名称,编码,类型。其中,路径为必选,其他为可选

函数原型:

AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream'){}

AddBCC--方法

出自:PHPMailer::AddBCC()

文件:class.phpmailer.php

说明:增加一个密送。抄送和密送的区别请看[SMTP发件中的密送和抄送的区别] 。

参数1为地址,参数2为名称。注意此方法只支持在win32下使用SMTP,不支持mail函数

函数原型:public function AddBCC($address, $name = ''){}

AddCC --方法

出自:PHPMailer::AddCC()

文件:class.phpmailer.php

说明:增加一个抄送。抄送和密送的区别请看[SMTP发件中的密送和抄送的区别] 。

参数1为地址,参数2为名称注意此方法只支持在win32下使用SMTP,不支持mail函数

函数原型:public function AddCC($address, $name = '') {}

AddCustomHeader--方法

出自:PHPMailer::AddCustomHeader()

文件:class.phpmailer.php

说明:增加一个自定义的E-mail头部。

参数为头部信息

函数原型:public function AddCustomHeader($custom_header){}

AddEmbeddedImage --方法

出自:PHPMailer::AddEmbeddedImage()

文件:class.phpmailer.php

说明:增加一个嵌入式图片

参数:路径,返回句柄[,名称,编码,类型]

函数原型:public function AddEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = 'application/octet-stream') {}

提示:AddEmbeddedImage(PICTURE_PATH. "index_01.jpg ", "img_01 ", "index_01.jpg ");

在html中引用

AddReplyTo--方法

出自:PHPMailer:: AddRepl

*************************************************/

?>

常见问题:

1. Can not connect to server, 表示连接服务端失败,可以尝试 telnet smtp.xxx.com 25 来测试邮件服务器的IP地址是否正确并且端口开放。

2. Mailer Error: The following From address failed: 123456@qq.com

SMTP server error: mail from address must be same as authorization user

这种是邮件服务器要求授权,登录qq 邮箱,进行设置,允许 smtp 即可。


3.邮件乱码:把相关文件全部转成 ANSI 编码格式,

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: