Home > Article > Backend Development > ThinkPHP uses PHPMailer to send emails_PHP tutorial
This article uses ThinkPHP version 2.1 and PHPMailer version 5.1. (The latter is recommended that you download it directly from this blog, because we cannot guarantee that the following code will run normally in all versions of PHPMailer)
The following are the specific steps:
The first step, add the PHPMailer class library
Extract the downloaded file and move the PHPMail directory to the Vendor in the ThinkPHP directory. (Please make sure that the class.phpmailer.php file is in ThinkPHPVendorPHPMailerclass.phpmailer.php)
The second step is to add the send mail function
The common.php file in the Common folder in the project directory (please create it if it does not exist) )Add the following code:
<?<span php </span><span /*</span><span ********* * 发送邮件 *</span>
<span * by www.jbxue.com</span>
<span *********</span><span */</span>
<em id="__mceDel"><span function</span> SendMail(<span $address</span>,<span $title</span>,<span $message</span><span ) { vendor(</span>'PHPMailer.class#PHPMailer'<span ); </span><span $mail</span>=<span new</span><span PHPMailer(); </span><span //</span><span 设置PHPMailer使用SMTP服务器发送Email</span> <span $mail</span>-><span IsSMTP(); </span><span //</span><span 设置邮件的字符编码,若不指定,则为'UTF-8'</span> <span $mail</span>->CharSet='UTF-8'<span ; </span><span //</span><span 添加收件人地址,可以多次使用来添加多个收件人</span> <span $mail</span>->AddAddress(<span $address</span><span ); </span><span //</span><span 设置邮件正文</span> <span $mail</span>->Body=<span $message</span><span ; </span><span //</span><span 设置邮件头的From字段。</span> <span $mail</span>->From=C('MAIL_ADDRESS'<span ); </span><span //</span><span 设置发件人名字</span> <span $mail</span>->FromName='LilyRecruit'<span ; </span><span //</span><span 设置邮件标题</span> <span $mail</span>->Subject=<span $title</span><span ; </span><span //</span><span 设置SMTP服务器。</span> <span $mail</span>->Host=C('MAIL_SMTP'<span ); </span><span //</span><span 设置为“需要验证”</span> <span $mail</span>->SMTPAuth=<span true</span><span ; </span><span //</span><span 设置用户名和密码。</span> <span $mail</span>->Username=C('MAIL_LOGINNAME'<span ); </span><span $mail</span>->Password=C('MAIL_PASSWORD'<span ); </span><span //</span><span 发送邮件。</span> <span return</span>(<span $mail</span>-><span Send()); } </span>?></em>
Edit config.php in the Conf directory and add the following content in the return array
<?<span php </span>'MAIL_ADDRESS'=>'xxx@126.com', <span //</span><span 邮箱地址</span> 'MAIL_SMTP'=>'smtp.126.com', <span //</span><span 邮箱SMTP服务器</span> 'MAIL_LOGINNAME'=>'xxx', <span //</span><span 邮箱登录帐号</span> 'MAIL_PASSWORD'=>'xxx', <span //</span><span 邮箱密码</span>
The fourth step is to send an email in Action
Since ThinkPHP will automatically load the functions in common.php, when you need to send an email, you only need to use the following code.
SendMail("xxx@xxx.com","Email title","Email text");
At this point, this tutorial has ended. Spread flowers~~~
Welcome students who have successfully configured SendMail("dreamrunner@foxmail.com","I can also use ThinkPHP to send emails","Wow wow~~");
There are also some instructions
What should I do if I need to wrap the line in the email body? In fact, the simplest method is -
SendMail("xxx@xxx.com", "Email title", "Email text
I changed the line~~!");
QQ mailbox (including foxmail ) and NetEase's 126 and 163 were tested successfully. Because it has been difficult to access GMail recently, I did not test it. I heard that GMail requires the use of SSL. Students who need it can Google Baidu PHPMailer on their own.