thinkphp发送邮箱(php smtp发送邮件)

hacker|
159

thinkphp发送邮件 怎么获取smtp服务器

Thinkphp3.2 PHPMailer 发送邮件结合QQ企业邮箱发送邮件下载附件PHPMailer解压到ThinkPHP\Library\Vendor在Common文件夹新建function.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

/**

* 邮件发送函数

*/

function sendMail($to, $title, $content) {

Vendor('PHPMailer.PHPMailerAutoload');

$mail = new PHPMailer(); //实例化

$mail-IsSMTP(); // 启用SMTP

$mail-Host=C('MAIL_HOST'); //smtp服务器的名称(这里以QQ邮箱为例)

$mail-SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证

$mail-Username = C('MAIL_USERNAME'); //你的邮箱名

$mail-Password = C('MAIL_PASSWORD') ; //邮箱密码

$mail-From = C('MAIL_FROM'); //发件人地址(也就是你的邮箱地址)

$mail-FromName = C('MAIL_FROMNAME'); //发件人姓名

$mail-AddAddress($to,"尊敬的客户");

$mail-WordWrap = 50; //设置每行字符长度

$mail-IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件

$mail-CharSet=C('MAIL_CHARSET'); //设置邮件编码

$mail-Subject =$title; //邮件主题

$mail-Body = $content; //邮件内容

$mail-AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示

return($mail-Send());

ThinkPHP邮件发送的问题。急急急!

具体我也忘了

不过

$mail = new PHPMailer(); //得到一个PHPMailer实例

$mail-CharSet = "gb2312"; //设置采用gb2312中文编码

$mail-IsSMTP(); //设置采用SMTP方式发送邮件

$mail-Host = "192.168.1.27"; //设置邮件服务器的地址

$mail-Port = 25; //设置邮件服务器的端口,默认为25

$mail-From = ""; //设置发件人的邮箱地址

$mail-FromName = "samzhang"; //设置发件人的姓名

//$mail-SMTPAuth = true; //设置SMTP是否需要密码验证,true表示需要

$mail-Username="samzhang";

$mail-Password = 'your password";

$mail-Subject = $subject; //设置邮件的标题

$mail-AltBody = "text/html"; // optional, comment out and test

$mail-Body = "你的邮件的内容";

$mail-IsHTML(true); //设置内容是否为html类型

//$mail-WordWrap = 50; //设置每行的字符数

$mail-AddReplyTo(""); //设置回复的收件人的地址

$mail-AddAddress(""); //设置收件的地址

if(!$mail-Send()) { //发送邮件

echo 发送失败:';

} else {

echo "发送成功;

}

如何使用thinkphp发送邮件

Thinkphp3.2 PHPMailer 发送邮件结合QQ企业邮箱发送邮件

下载附件PHPMailer解压到ThinkPHP\Library\Vendor

在Common文件夹新建function.php

/**

 * 邮件发送函数

 */

    function sendMail($to, $title, $content) {

     

        Vendor('PHPMailer.PHPMailerAutoload');     

        $mail = new PHPMailer(); //实例化

        $mail-IsSMTP(); // 启用SMTP

        $mail-Host=C('MAIL_HOST'); //smtp服务器的名称(这里以QQ邮箱为例)

        $mail-SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证

        $mail-Username = C('MAIL_USERNAME'); //你的邮箱名

        $mail-Password = C('MAIL_PASSWORD') ; //邮箱密码

        $mail-From = C('MAIL_FROM'); //发件人地址(也就是你的邮箱地址)

        $mail-FromName = C('MAIL_FROMNAME'); //发件人姓名

        $mail-AddAddress($to,"尊敬的客户");

        $mail-WordWrap = 50; //设置每行字符长度

        $mail-IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件

        $mail-CharSet=C('MAIL_CHARSET'); //设置邮件编码

        $mail-Subject =$title; //邮件主题

        $mail-Body = $content; //邮件内容

        $mail-AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示

        return($mail-Send());

    }

添加配置文件config.php

// 配置邮件发送服务器

    'MAIL_HOST' ='smtp.exmail.qq.com',//smtp服务器的名称

    'MAIL_SMTPAUTH' =TRUE, //启用smtp认证

    'MAIL_USERNAME' ='jufengjituan@gsjfjt.com',//你的邮箱名

    'MAIL_FROM' ='jufengjituan@gsjfjt.com',//发件人地址

    'MAIL_FROMNAME'='聚丰集团',//发件人姓名

    'MAIL_PASSWORD' ='******',//邮箱密码

    'MAIL_CHARSET' ='utf-8',//设置邮件编码

    'MAIL_ISHTML' =TRUE, // 是否HTML格式邮件

最后就是使用PHPMailer发送邮件

form action="__URL__/add" method="post" enctype="multipart/form-data"

    邮箱:input  type="text" id="mail" name="mail"/

    标题:input  type="text" id="title" name="title"/

    内容input  type="text" id="content" name="content"/

    input class="0764-3fa2-8737-8e02 button" type="submit" value="发送" style="margin: 0 auto;display: block;"/

/form

public function add(){    

            if(SendMail($_POST['mail'],$_POST['title'],$_POST['content']))

                $this-success('发送成功!');

            else

                $this-error('发送失败');

}

thinkphp发送邮件需要开启什么设置

邮件配置

'THINK_EMAIL' = array(

'SMTP_HOST' = 'smtp.163.com', //SMTP服务器

'SMTP_PORT' = '465', //SMTP服务器端口

'SMTP_USER' = 'ihtxt@163.com', //SMTP服务器用户名

'SMTP_PASS' = 'ihtxt.com', //SMTP服务器密码

'FROM_EMAIL' = 'ihtxt@163.com', //发件人EMAIL

'FROM_NAME' = '爱红电子书', //发件人名称

'REPLY_EMAIL' = 'ihtxt@163.com', //回复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

thinkphp3.1怎么做发送邮件

ThinkPHP邮件发送函数方法

/**

* 系统邮件发送函数

* @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-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;

此函数只能在ThinkPHP中使用且需要phpmailer扩展的支持;

phpmailer扩展的放置目录为 ThinkPHP/Extend/Vendor/PHPMailer/class.phpmailer.php

phpmail的下载地址:

使用此函数 必须在项目中加入以下配置项

//邮件配置

'THINK_EMAIL' = array(

'SMTP_HOST' = 'smtp.aaa.com', //SMTP服务器

'SMTP_PORT' = '465', //SMTP服务器端口

'SMTP_USER' = 'mail@aaa.com', //SMTP服务器用户名

'SMTP_PASS' = 'password', //SMTP服务器密码

'FROM_EMAIL' = 'mail@aaa.com', //发件人EMAIL

'FROM_NAME' = 'ThinkPHP', //发件人名称

'REPLY_EMAIL' = '', //回复EMAIL(留空则为发件人EMAIL)

'REPLY_NAME' = '', //回复名称(留空则为发件人名称)

),

2条大神的评论

  • avatar
    访客 2022-09-27 下午 12:37:06

    ile); } } return $mail-Send() ? true : $mail-ErrorInfo; } $r = thi

  • avatar
    访客 2022-09-27 上午 05:03:32

    ); //smtp服务器的名称(这里以QQ邮箱为例)$mail-SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证$mail-Username = C('MAIL_USERNAME'); //你

发表评论