>  기사  >  백엔드 개발  >  ThinkPHP PHPMailer를 사용하여 이메일을 보내는 예

ThinkPHP PHPMailer를 사용하여 이메일을 보내는 예

韦小宝
韦小宝원래의
2017-11-24 10:02:462073검색

많은 학생들이 thinkphp를 사용했다고 생각하며, thinkphp 프레임워크 자체에도 클래스 라이브러리가 있습니다. 이 글에서는 thinkphp외부 PHPMailer 클래스 라이브러리를 사용하는 방법에 대해 설명하겠습니다.

방법 1:

1. PHPmailer를 다운로드하고 ThinkPHP\Extend\Vendor 폴더에 압축을 풉니다

2. ThinkPHP와 함께 제공되는 Vendor 메서드를 사용하여 타사 클래스 라이브러리를 로드합니다

3. 관련 매개변수를 구성합니다.

4. 원하는 호출을 용이하게 하기 위해 common.php에 이메일을 보내는 함수를 만든 다음 이 함수를 호출하여 이메일을 보낼 수 있습니다.

/**
* 邮件发送
*/
function sendMail(){
// 载入邮件发送类库
Vendor('PHPMailer.PHPMailerAutoload');
$mail = new PHPMailer;
$mail->isSMTP();        //设置PHPMailer使用SMTP服务器发送Email
$mail->Host = 'smtp.163.com';   //指定SMTP服务器 可以是smtp.126.com, gmail, qq等服务器 自行查询
$mail->SMTPAuth = true;
$mail->CharSet='UTF-8';     //设置字符集 防止乱码
$mail->Username = 'username@163.com';  //发送人的邮箱账户
$mail->Password = 'xxxxxxxxxx';   //发送人的邮箱密码
$mail->Port = 25;   //SMTP服务器端口
$mail->From = 'user@admin.com';            //发件人邮箱地址
$mail->FromName = '在路上';                //发件人名称
$mail->addAddress('guest@test.com');      // 收件人邮箱地址 此处可以发送多个
$mail->WordWrap = 50;                                 // 换行字符数
$mail->isHTML(true);                                  // 设置邮件格式为HTML
$mail->Subject = '青岛XXX';       //邮件标题
$mail->Body    = &#39;尊敬的先生/女士:<br/>非常抱歉,您接受到这封邮件是因您的好友邀请您加入我们的CRM系统体验当中,请点击以下链接注册账户<a href=####>######</a><br/>如您没有相关意向,请忽略&#39;;
if(!$mail->send()) {
echo &#39;邮件发送失败.&#39;;
echo &#39;错误信息: &#39; . $mail->ErrorInfo;
} else {
echo &#39;邮件发送成功&#39;;
}
}

정의한 후 이메일을 보내려면 sendMail()을 직접 호출하세요.

보내는 내용, 보내는 제목, 받는 사람을 변수로 설정할 수 있습니다. 예: sendMail($body, $title, $recipient) 받는 사람은 다음과 같습니다. 배열 형태로 함수에서 반복하면 끝입니다!! SMTP 서버와 발신자의 일부 구성은 Conf\config.php 파일에 기록하고 C() 메서드로 직접 호출할 수 있습니다.
방법 2:

1단계 먼저 PHPMailer.class.php 압축 패키지를 다운로드합니다(이 기사 위에 첨부 파일 다운로드가 있습니다)

압축을 풀면 다음 세 가지 파일이 있습니다:

1.class.pop3.php
2.class.smtp.php
3.PHPMailer.class.php
PHPMailer.class.php这个文件就是核心的文件,把这个文件放到ThinkPHP的扩展包下路径如\下:ThinkPHP\Extend\Library

두 번째 단계는 ThinkPHP에서 새로운 common.php 파일을 생성하고 이를 공통 파일에 작성하는 것입니다.

<br/>


세 번째 단계는 ThinkPHP에서 다음 코드를 작성하는 것입니다. .php 파일:

참고: 다음은 내 QQ 메일함의 테스트입니다. 각 메일함은 서로 다른 매개변수를 가지고 있습니다. 특히 메일함은 메일함에서 직접 열어야 합니다.

returnarray(
//&#39;配置项&#39;=>&#39;配置值&#39;
&#39;MAIL_ADDRESS&#39;=>&#39;799783009@qq.com&#39;, // 邮箱地址
&#39;MAIL_LOGINNAME&#39;=>&#39;799783009@qq.com&#39;, // 邮箱登录帐号
&#39;MAIL_SMTP&#39;=>&#39;smtp.qq.com&#39;, // 邮箱SMTP服务器
&#39;MAIL_PASSWORD&#39;=>&#39;******&#39;, // 邮箱密码
&#39;SHOW_PAGE_TRACE&#39;=>true,
);

네번째 단계만 남았습니다. ThinkPHP에서 IndexAction.class.php 파일에 다음 코드를 작성하세요:

// 本类由系统自动生成,仅供测试用途
classIndexAction extendsAction {
publicfunctionindex(){
if(!empty($_POST[&#39;title&#39;]) && !empty($_POST[&#39;content&#39;])){
if(SendMail("597417106@qq.com",$_POST[&#39;tile&#39;],$_POST[&#39;content&#39;]))
echo&#39;发送成功!&#39;;
else
echo&#39;发送失败&#39;;
}
$this->assign(&#39;title&#39;,&#39;测试标题&#39;);
$this->display();
}
}

좋아요, 간단합니다

Method 2는 표준 메소드로 간주되며 모든 것이 thinkphp 클래스에 포함됩니다. 그것을 사용하는 것은 두 번째 옵션입니다.

PHP는 smtp 클래스를 사용하여 쉽게 이메일을 보냅니다.

PHP에 내장된 mail() 기능이 이메일을 보낼 수 없다는 사실로 여전히 어려움을 겪고 있다면 운이 좋으면 이 기사가 도움이 될 수 있습니다!

php는 smtp 클래스를 사용하여 이메일을 보냅니다. 저는 오랫동안 이 클래스를 사용해 왔고 기본적으로 아무런 문제도 없었습니다. 이 블로그의 백그라운드에서 블로거가 메시지에 답장하면 새로운 답장 메시지가 포함된 이메일이 자동으로 네티즌에게 전송됩니다. 이 역시 이 기사의 방법을 사용하여 구현됩니다.

smtp 클래스를 사용하여 이메일을 보내는 방법은 실제로 매우 간단하고 안정적입니다. 클래스는 다른 사람이 작성한 것이므로 호출하기만 하면 됩니다. 몇 가지 간단한 구성만으로 이메일을 보낼 수 있습니다. 한번 시도해 보고 싶으신가요?

다음은 핵심 코드입니다.

<?php
require_once "email.class.php";
//******************** 配置信息 ********************************
$smtpserver = "smtp.126.com";//SMTP服务器
$smtpserverport =25;//SMTP服务器端口
$smtpusermail = "new2008oh@126.com";//SMTP服务器的用户邮箱
$smtpemailto = $_POST[&#39;toemail&#39;];//发送给谁
$smtpuser = "new2008oh";//SMTP服务器的用户帐号
$smtppass = "您的邮箱密码";//SMTP服务器的用户密码
$mailtitle = $_POST[&#39;title&#39;];//邮件主题
$mailcontent = "<h1>".$_POST[&#39;content&#39;]."</h1>";//邮件内容
$mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件
//************************ 配置信息 ****************************
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
$smtp->debug = false;//是否显示发送的调试信息
$state = $smtp->sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype);
echo "<div style=&#39;width:300px; margin:36px auto;&#39;>";
if($state==""){
echo "对不起,邮件发送失败!请检查邮箱填写是否有误。";
echo "<a href=&#39;index.html&#39;>点此返回</a>";
exit();
}
echo "恭喜!邮件发送成功!!";
echo "<a href=&#39;index.html&#39;>点此返回</a>";
echo "</div>";
?>

위는 PHPMailer를 사용하여 이메일을 보내는 ThinkPHP의 두 가지 예입니다. 자세한 내용은 PHP 중국어 웹사이트에서 검색해 보세요~

관련 권장 사항:

thinkphp를 사용하여 짧은 링크를 만드는 방법을 모두에게 가르쳐주세요

thinkphp를 구현하여 기본 SQL 문을 실행하는 방법

thinkphp에서 데이터베이스를 업데이트하는 다섯 가지 방법.

thinkphp

에서 다중 테이블 관련 쿼리를 구현하는 코드 예제

위 내용은 ThinkPHP PHPMailer를 사용하여 이메일을 보내는 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.