The built-in mail function of PHP is not convenient enough to use. In addition, due to the influence of other languages, bloggers prefer the object-oriented package management mode, so phpmailer became my choice for sending emails with PHP. First choice, share it with everyone here.
Composer is used here for package management. The following is the json file:
{ "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',"测试","你好吗");?>
Use 163 as the sender, and the test is passed when sent to QQ mailbox and 163 mailbox.
The above is the detailed content of How to send emails using phpmailer. For more information, please follow other related articles on the PHP Chinese website!