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郵箱都通過測試。
以上是使用phpmailer發送郵件的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!