本文目录一览:
PHP邮件发送
首先去下载一个phpmailer的压缩包(随便一搜就可以找的到)
然后解压
代码如下:
?php
require("phpmailer/class.phpmailer.php"); //引入文件(把刚才解压的那些文件放到对应的路径就可以了)
$mail = new PHPMailer(); //实例化
$mail-IsSMTP(); // 启用SMTP
$mail-Host="smtp.126.com"; //smtp服务器的名称(这里以126邮箱为例)
$mail-SMTPAuth = true; //启用smtp认证
$mail-Username = "******@126.com"; //你的邮箱名
$mail-Password = "*****"; //邮箱密码
$mail-From = "****@126.com"; //发件人地址(也就是你的邮箱地址)
$mail-FromName = "****"; //发件人姓名
$mail-AddAddress("收件人地址","收件人姓名"); //添加收件人
$mail-AddReplyTo("*****@126.com", "****"); //回复地址(可填可不填)
$mail-WordWrap = 50; //设置每行字符长度
$mail-AddAttachment("images/01.jpg", "manu.jpg"); // 添加附件,并指定名称
$mail-IsHTML(true); // 是否HTML格式邮件
$mail-CharSet="utf-8"; //设置邮件编码
$mail-Subject = "****"; //邮件主题
$mail-Body = "******"; //邮件内容
$mail-AltBody = "This is the body in plain text for non-HTML mail clients"; //邮件正文不支持HTML的备用显示
if(!$mail-Send())
{
echo "Message could not be sent. p";
echo "Mailer Error: " . $mail-ErrorInfo;
exit();
} else {
echo "Message has been sent";
}
?
使用php 怎么发送邮件??
HTTP 函数允许您从脚本中直接发送电子邮件。要使邮件函数可用,PHP 需要已安装且正在运行的邮件系统。要使用的程序是由 php.ini 文件中的配置设置定义的。
语法:mail(to,subject,message,headers,parameters)
参数 描述
to 必需。规定邮件的接收者。
subject 必需。规定邮件的主题。该参数不能包含任何换行字符。
message 必需。规定要发送的消息。
headers 必需。规定额外的报头,比如 From, Cc 以及 Bcc。
parameters 必需。规定 sendmail 程序的额外参数。
例子 1
发送一封简单的邮件:
?php
$txt = "First line of text\nSecond line of text";
// 如果一行大于 70 个字符,请使用 wordwrap()。
$txt = wordwrap($txt,70);
// 发送邮件
mail("somebody@example.com","My subject",$txt);
?例子 2
发送带有额外报头的 email:
?php
$to = "somebody@example.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";
mail($to,$subject,$txt,$headers);
?例子 3
发送一封 HTML email:
?php
$to = "somebody@example.com, somebodyelse@example.com";
$subject = "HTML email";
$message = "
html
head
titleHTML email/title
/head
body
pThis email contains HTML Tags!/p
table
tr
thFirstname/th
thLastname/th
/tr
tr
tdJohn/td
tdDoe/td
/tr
/table
/body
/html
";
// 当发送 HTML 电子邮件时,请始终设置 content-type
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
// 更多报头
$headers .= 'From: webmaster@example.com' . "\r\n";
$headers .= 'Cc: myboss@example.com' . "\r\n";
mail($to,$subject,$message,$headers);
?
如何配置php.ini发送邮件
我的环境:XAMPP v3.2.1
准备工作
1.检查有没有sendmail程序,在xampp安装目录下的sendmail文件夹下。没有则下载sendmail.zip(),然后解压并放在在xampp目录下。
2.去mail.google.com注册一个google的邮箱,比如账号:user@gmail.com,密码:passwd
配置步骤:
1.PHP.ini中如下设置:
; SMTP = localhost;
smtp_port = 25;
sendmail_from = sendmail_path = "C:/xampp/sendmail/sendmail.exe -t"
也就是注释掉"SMTP"、"smtp_port"、"sendmail_from",设置sendmail_path变量的值为以上所示(根据自己电脑上sendmail.exe的目录自行设置)。
2.sendmail.ini中如下设置
smtp_server=smtp.gmail.com
smtp_port=587
smtp_ssl=TLS
error_logfile=error.log
debug_logfile=debug.log
auth_username=user@gail.com
auth_password=passwd
测试代码:
[php] view plain copy print?
?php
$now = date("Y-m-d h:i:s");
$headers = 'From: namesender@qq.com';
$body = "hi, this is a test mail.\nMy email: sender@qq.com";
$subject = "test mail";
$to = "recver@qq.com";
if (mail($to, $subject, $body, $headers))
{
echo 'success!';
}
else
{
echo 'fail';
}
?
以上代码执行后recver@qq.com 会收到发过来的邮件,但是邮件头中的sender@qq.com会被替换成user@gmail.com。
如何用php结合phpmailer发送邮件
先下载phpmailer,保存在你的网站目录,在发布的页面添加一个函数用来区分发送的主题
require_once('class.phpmailer.php');
require_once("class.smtp.php");
$mail = new PHPMailer();
$mail-CharSet ="UTF-8"; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置为 UTF-8
$mail-IsSMTP(); // 设定使用SMTP服务
$mail-SMTPAuth = true; // 启用 SMTP 验证功能
$mail-SMTPSecure = "ssl"; // SMTP 安全协议
$mail-Host = "smtp.gmail.com"; // SMTP 服务器
$mail-Port = 465; // SMTP服务器的端口号
$mail-Username = "your_name@gmail.com"; // SMTP服务器用户名
$mail-Password = "your_password"; // SMTP服务器密码
$mail-SetFrom('发件人地址', '发件人名称'); // 设置发件人地址和名称
$mail-AddReplyTo("邮件回复人地址","邮件回复人名称");
// 设置邮件回复人地址和名称
$mail-Subject = ''; // 设置邮件标题
$mail-AltBody = "为了查看该邮件,请切换到支持 HTML 的邮件客户端";
// 可选项,向下兼容考虑
$mail-MsgHTML(''); // 设置邮件内容
$mail-AddAddress('收件人地址', "收件人名称");
//$mail-AddAttachment("images/phpmailer.gif"); // 附件
if(!$mail-Send()) {
echo "发送失败:" . $mail-ErrorInfo;
} else {
echo "恭喜,邮件发送成功!";
}