‘壹’ thinkphp中怎样发邮件,带附件
邮件配置
'THINK_EMAIL' => array(
'SMTP_HOST' => 'smtp.163.com', //SMTP服务器
'滚段碰SMTP_PORT' => '465', //SMTP服务器端口
'SMTP_USER' => '[email protected]', //SMTP服务器用户名
'SMTP_PASS' => 'ihtxt.com', //SMTP服务器密码
'FROM_EMAIL' => '[email protected]', //发件人燃谈EMAIL
'FROM_NAME' => '爱红电子书', //发件人名称
'REPLY_EMAIL' => '[email protected]', //回复EMAIL(留空则为发件人EMAIL)
'REPLY_NAME' => '爱红电子书', //回复名称(留空则为发件人名称)
),
注:推荐使用163邮件,不要使用QQ邮箱,邮件配置一定要正确
可以将该函数放到ThinkPHPCommoncommon.php。也大谈可以放到你生成的项目文件的Commoncommon.php。不过只能放到一个地方,否则就会报函数重定义错误。
/**
* 系统邮件发送函数
* @param string $to 接收邮件者邮箱
* @param string $name 接收邮件者名称
* @param string $subject 邮件主题
* @param string $body 邮件内容
* @param string $attachment 附件列表
* @return boolean
*/
function think_send_mail($to, $name, $subject = '', $body = '', $attachment = null){
$config = C('THINK_EMAIL');
vendor('PHPMailer.class#phpmailer'); //从PHPMailer目录导class.phpmailer.php类文件
$mail = new PHPMailer(); //PHPMailer对象
$mail->CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
$mail->IsSMTP(); // 设定使用SMTP服务
$mail->SMTPDebug = 0; // 关闭SMTP调试功能
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // 启用 SMTP 验证功能
$mail->SMTPSecure = 'ssl'; // 使用安全协议
$mail->Host = $config['SMTP_HOST']; // SMTP 服务器
$mail->Port = $config['SMTP_PORT']; // SMTP服务器的端口号
$mail->Username = $config['SMTP_USER']; // SMTP服务器用户名
$mail->Password = $config['SMTP_PASS']; // SMTP服务器密码
$mail->SetFrom($config['FROM_EMAIL'], $config['FROM_NAME']);
$replyEmail = $config['REPLY_EMAIL']?$config['REPLY_EMAIL']:$config['FROM_EMAIL'];
$replyName = $config['REPLY_NAME']?$config['REPLY_NAME']:$config['FROM_NAME'];
$mail->AddReplyTo($replyEmail, $replyName);
$mail->Subject = $subject;
$mail->AltBody = "为了查看该邮件,请切换到支持 HTML 的邮件客户端";
$mail->MsgHTML($body);
$mail->AddAddress($to, $name);
if(is_array($attachment)){ // 添加附件
foreach ($attachment as $file){
is_file($file) && $mail->AddAttachment($file);
}
}
return $mail->Send() ? true : $mail->ErrorInfo;
}
$r = think_send_mail('要发送的邮箱','发送人名称,即你的名称','文件标题','邮件内容');
windows下在php.ini中去掉下面的分号
extension=php_openssl.dll
并将allow_url_fopen = Off改为
allow_url_fopen = On
‘贰’ 请问一下,PHP配置SMTP怎么弄
PHPMailer的获取:
PHPMailer项目地址:PHPMailer 使用git命令克隆到本地,或直接在该项目页面的右下方点击“ Download ZIP ”即可获取到完整的PHPMailer代码包,再到本地解压即可。
步骤一:使我们的QQ邮箱能够发送邮件
这里怎么说能够发送邮件呢?其实我们的邮箱都是可以发送邮件的,但是要实现在我们的网站中发送邮件,那就要设置一下我们的QQ邮箱了,因为此时我们的网站现在是作为一个第三方客户端存在的。
这里怎么说能够发送邮件呢?其实我们的邮箱都是可以发送邮件的,但是要实现在我们的网站中发送邮件,那就要设置一下我们的QQ邮箱了,因为此时我们的网站现在是作为一个第三方客户端存在的
由于待会我们用到的是SMTP服务器来发送,在这里建议把前面的两项开启了!当你点击开启的时候,它会提示:
<?phprequire_once("./functions.php");$flag=sendMail('[email protected]','lsgo在线通知','恭喜你成功加入LSGO实验室,开启你的学习之旅吧!');if($flag){echo"发送邮件成功!";
}else{echo"发送邮件失败!";
}?>
‘叁’ php如何发送邮件
php发送邮件,php发送电子邮件,使用php发送邮件,php如何发送邮件
方法/步骤
1
在实际项目开发中,我们经常需要得到用户的反馈信息并及时回复。普通的留言板有一定的内容限制,而邮件则能满足这个需求。今天给大家演示一下怎么利用PHP发送电子邮件。
2
1.首先我们需要一个用来发送电子邮件的文件的程序,也就是一个php文件,流行的phpmail有很多,今天以smtp.php为例来演示。
3
2.将其复制到你的项目文件内,具体路径根据自己的实际情况,这里建了一个test文件,用来设置邮件参数,大家也可以自定义邮件参数文件。(PS:一般都是通过表单接受的)
4
3.smtp.php文件如图所示,大家不需要管代码,会用就行,有时间了也可以研究研究哈。
5
4.设置邮件参数,具体代码如下:
//引入发送邮件类
require("smtp.php");
//使用163邮箱服务器
$smtpserver="smtp.163.com";
//163邮箱服务器端口
$smtpserverport=25;
//你的163服务器邮箱账号
$smtpusermail="@163.com";
//收件人邮箱
$smtpemailto="@qq.com";
//你的邮箱账号(去掉@163.com)
$smtpuser="";//SMTP服务器的用户帐号
//你的邮箱密码
$smtppass="";//SMTP服务器的用户密码
6
5.设置邮件内容,代码如下:
//邮件主题
$mailsubject="测试邮件发送";
//邮件内容
$mailbody="PHP+MySQL";
//邮件格式(HTML/TXT),TXT为文本邮件
$mailtype="TXT";
//这里面的一个true是表示使用身份验证,否则不使用身份验证.
$smtp=newsmtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);
//是否显示发送的调试信息
$smtp->debug=TRUE;
//发送邮件
$smtp->sendmail($smtpemailto,$smtpusermail,$mailsubject,$mailbody,$mailtype);
刷新页面后邮件发送,参数不出错的话1分钟左右即可发送成功。我在测试的时候没有发送成功提示,自己登录邮箱查看的,如图所示,内容和上面设置的一样。
‘肆’ 如何用SMTP发附件
首先,你的邮箱需要开通SMTP功能裤闭,有一些邮箱是不支持的,开启后将邮箱设置到客户端上,发邮件时候直接把附件拖到邮件盯大里,发送就行了,我们公司用的TOM企业邮箱,我都胡则裂是用客户端发邮件发附件的
‘伍’ 如何用php结合phpmailer发送邮件
步骤图解教程demo和
phpmailer代码包下载:
看这个博主的文章,新手也能实现php发送邮件:网页链接
‘陆’ PHP怎么使用阿里云企业邮箱发邮件
找个PHPMailer类
$mail = new \Vendor\PHPMailer(); //PHPMailer对象
$mail->CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
$mail->IsSMTP(); // 设定使用SMTP服务
$mail->SMTPDebug = 0; // 关闭SMTP调试功能
$mail->SMTPAuth = true; // 启用 SMTP 验证功能
$mail->SMTPSecure = 'ssl'; // 使用安全协议
$mail->Host = $config['SMTP_HOST']; // SMTP 服务器
$mail->Port = $config['SMTP_PORT']; // SMTP服务器的端口号
$mail->Username = $config['SMTP_USER']; // SMTP服务器用户名
$mail->Password = $config['SMTP_PASS']; // SMTP服务器密码
$mail->SetFrom($config['FROM_EMAIL'], $config['FROM_NAME']);
$replyEmail = $config['REPLY_EMAIL'] ? $config['REPLY_EMAIL'] : $config['FROM_EMAIL'];
$replyName = $config['REPLY_NAME'] ? $config['REPLY_NAME'] : $config['FROM_NAME'];
$mail->AddReplyTo($replyEmail, $replyName);
$mail->Subject = $subject;
$mail->MsgHTML($body);
$mail->AddAddress($to, $name);
if (is_array($attachment)) {
// 添加附件
foreach ($attachment as $file) {
is_file($file) && $mail->AddAttachment($file);
}
}
return $mail->Send() ? true : $mail->ErrorInfo;
‘柒’ 如何用php结合phpmailer发送邮件
<?php
header("content-type:text/html;charset=utf-8");
ini_set("magic_quotes_runtime",0);
require'php_mail/class.phpmailer.php';
require'php_mail/class.smtp.php';
functionsend_mail($to,$fromname,$title,$content){
try{
$mail=newPHPMailer(true);
$mail->IsSMTP();
$mail->CharSet='UTF-8';//设置邮件的字符编码,这很重要,不然中文乱码
$mail->SMTPAuth=true;//开启认证
$mail->Port=25;//端口请保持默认
$mail->Host="smtp.163.com";//使用QQ邮箱发送
$mail->Username="[email protected]";//这个可以替换成自己的邮箱
$mail->Password="xxxxxxxxxxxxxxx";//注意这里是写smtp的授权码写的不是QQ密码,此授权码不可用
//$mail->IsSendmail();//如果没有sendmail组件就注释掉,否则出现“Couldnotexecute:/var/qmail/bin/sendmail”的错误提示
$mail->AddReplyTo("[email protected]","mckee");//回复地址
$mail->From="[email protected]";
$mail->FromName=$fromname;
$to=$to;
$mail->AddAddress($to);
$mail->Subject=$title;
$mail->Body=$content;
$mail->AltBody="Toviewthemessage,!";//当邮件不支持html时备用显示,可以省略
$mail->WordWrap=80;//设置每行字符串的长度
//$mail->AddAttachment("f:/test.png");//可以添加附件
$mail->IsHTML(true);
$mail->Send();
//echo'邮件已发送';
}catch(phpmailerException$e){
//echo"邮件发送失败:".$e->errorMessage();
}
returntrue;
}
$neirong="联系电话:".$_POST['phone']."<br/>".$_POST['content']."<hr><pstyle='float:right;'>邮件来自官网</p>";
send_mail('[email protected]',$_POST['fromname'],'来信了ヾ(≧O≦)〃嗷~',$neirong);
//send_mail('[email protected]',$_POST['fromname'],'可爱的保氧家官网来信了ヾ(≧O≦)〃嗷~',$neirong);
//环境PHP5.3亲测可用
?>
下载邮件类,结合这个就可以了
‘捌’ 如何用php结合phpmailer发送邮件
先下载phpmailer,保存在你的网站目录,在发布的页面添加一个函数用来区分发送的主题
require_once('class.phpmailer.php');
require_once("class.smtp.php");
$mail=newPHPMailer();
$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="[email protected]";//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"恭喜,邮件发送成功!";
}
‘玖’ php 如何通过smtp发送图片邮件
方法很多。
方法1:可以弄成html,找个服务器,邮件发送时发html就是
方法2:图做成邮件附件
方法3:type= "image/jpeg"修改邮件文件属性发送
‘拾’ 如何使用PHP通过SMTP发送电子邮件
使用PHP类可以实现,例如:phpmailer,下面是示例代码
require("class.phpmailer.php");//这个是一个smtp的php文档,网上可以下载得到
$mail=newPHPMailer();//建立邮件发送类
$mail->CharSet="UTF-8";
$address="[email protected]";
$mail->IsSMTP();//使用SMTP方式发送
$mail->Host="smtp.126.com";//您的企业邮局域名
$mail->SMTPAuth=true;//启用SMTP验证功能
$mail->Username="[email protected]";//邮局用户名(请填写完整的email地址)
$mail->Password="123444";//邮局密码
$mail->Port=25;
$mail->From="[email protected]";//邮件发送者email地址
$mail->FromName="在线Q聊";
$mail->AddAddress("$address","a");//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")
//$mail->AddReplyTo("","");
//$mail->AddAttachment("/var/tmp/file.tar.gz");//添加附件
$mail->IsHTML(true);//setemailformattoHTML//是否使用HTML格式
$mail->Subject="在线Q聊";//邮件标题
$mail->Body="在线Q聊网站欢迎访问";//邮件内容,上面设置HTML,则可以是HTML
if(!$mail->Send())
{
echo"邮件发送失败.<p>";
echo"错误原因:".$mail->ErrorInfo;
exit;
}
参见:http://www.uedsc.com/phpmailer-demo.html