phpmailer发送邮件功能
程序员文章站
2024-03-11 11:07:13
php内置的mail函数使用起来不够方便,另外受其他语言的影响,博主更偏好面向对象的包管理模式,因此phpmailer成为了我用php发送邮件的首选,这里分享给大家。
库...
php内置的mail函数使用起来不够方便,另外受其他语言的影响,博主更偏好面向对象的包管理模式,因此phpmailer成为了我用php发送邮件的首选,这里分享给大家。
库导入
这里使用composer进行包管理,以下是json文件:
{ "name": "", "description": "test the mail", "require": { "phpmailer/phpmailer":"*" } }
使用样例
<?php // include("./vendor/autoload.php"); include("./vendor/phpmailer/phpmailer/class.phpmailer.php"); include("./vendor/phpmailer/phpmailer/class.smtp.php"); function postmail($to, $subject="", $body="") { $mail = new phpmailer(); #创建phpmailer实例 $mail->charset = 'utf-8'; #设置编码形式,默认为iso-8859-1 $mail->issmtp(); #表示使用smtp服务 $mail->smtpauth = true; #使用smtp认证 $mail->host = 'smtp.163.com'; #smtp主机名,这里以163为例 $mail->username = "xxxx@163.com"; #smtp服务的用户名 $mail->password = "xxxx"; #smtp用户的密码(现在多采用授权码的形式) #下面的部分是用户可见的 $mail->setfrom("xxxx@163.com","username"); #第二个参数,用户看到的发送方的姓名,是可以随便改的 $mail->subject = $subject; #邮件主题 $mail->msghtml($body); #邮件内容,这里采用html形式 $mail->addaddress($to,''); #地址,第二个参数是接受者,发送对象名为''时,163的测试结果是smtp服务商会把它改成‘我' $mail->addattachment('./php.png'); #添加附件 #发送 if($mail->send()) { echo "邮件发送成功"; }else { echo "邮件发送失败"; } } postmail('xxxx@qq.com',"测试","你好吗"); ?>
测试结果
博主使用163作为发送方,发送给qq邮箱、163邮箱均通过测试。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。