文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PHP 发送邮件

2023-08-31 22:20

关注

在php网站开发中,发送电子邮件是一个非常普片的需求。比如网站注册功能,当用户注册完成后需要发送电子邮件给用户,提示用户注册成功或者发送验证链接,另外,用户修改账号密码也需要发送电子邮件。

本文章向大家介绍php发送邮件的两种方法:

  1. 使用php mail()发送邮件
  2. 使用第三方类库PHPMailer发送邮件

使用php mail()发送邮件

mail()是php的内置函数,它允许使用本地sendmail 程序发送电子邮件。无论何时调用mail()函数,它都会调用本地sendmail程序,该程序通常由系统管理员配置。如果你的虚拟主机位于Hostinger,你可以在电子邮件 - >邮件服务控制 部分启用/禁用此功能 。

默认情况下sendmail服务是自启(自行启动)。

语法:

mail(to,subject,message,headers,parameters)

参数:

参数名描述
to必需。规定 email 接收者。
subject必需。规定 email 的主题。注释:该参数不能包含任何新行字符。
message必需。定义要发送的消息。应使用 LF (\n) 来分隔各行。
headers

可选。规定附加的,比如 From、Cc 以及 Bcc。

应当使用 CRLF (\r\n) 分隔附加的。

parameters可选。对邮件发送程序规定额外的参数。

使用php mail()发送html邮件

HTML email

This email contains HTML Tags!

FirstnameLastname
JohnDoe
";// 当发送 HTML 电子邮件时,请始终设置 content-type$headers = "MIME-Version: 1.0" . "\r\n";$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";// 更多报头$headers .= 'From: ' . "\r\n";$headers .= 'Cc: myboss@example.com' . "\r\n";mail($to,$subject,$message,$headers);?>

重要的是要记住,要发送HTML邮件,您需要设置Content-type标头:

$headers  = 'MIME-Version: 1.0' . "\r\n";$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

使用php mail()发送纯文本邮件

使用第三方类库PHPMailer发送邮件

PHPMailer是一个非常优秀的php第三方邮箱发送类函数, 专门用于php语言的邮件发送类,功能十分地强大,丰富了 PHP 本身单一的 mail() 函数。支持 SMTP 等、附件等。 PHPMailer 遵守 LGPL 授权,可以免费下载。

PHPMailer主要功能特点:

  1. 支持邮件 s/mime加密的数字签名
  2. 支持邮件多个 TOs, CCs, BCCs and REPLY-TOs
  3. 可以工作在任何服务器平台,所以不用担心WIN平台无法发送邮件的问题的
  4. 支持文本/HTML格式邮件
  5. 可以嵌入image图像
  6. 对于邮件客户端不支持HTML阅读的进行支持
  7. 功能强大的发送邮件调试功能debug
  8. 自定义邮件header
  9. 冗余SMTP服务器支持
  10. 支持8bit, base64, binary, and quoted-printable 编码
  11. 文字自动换行
  12. 支持多附件发送功能
  13. 支持SMTP服务器验证功能
  14. 在Sendmail, qmail, Postfix, Gmail, Imail, Exchange 等平台测试成功
  15. 提供的下载文件中,包括内容详细的说明文档及示例说明,所以不用担心难于上手的问题!
  16. PHPMailer 非常小巧、简单、方便、快捷

下载地址:https://github.com/PHPMailer/PHPMailer

下面我们一起来看个php中利用PHPMailer插件实现gmail发送邮件实例,希望此教程对大家有帮助。

下面代码是使用PHPMailer从本地Web服务器发送电子邮件的最简单示例:

From = "from@yourdomain.com";$mail->FromName = "Full Name";//To address and name$mail->addAddress("recepient1@example.com", "Recepient Name");$mail->addAddress("recepient1@example.com"); //Recipient name is optional//Address to which recipient will reply$mail->addReplyTo("reply@yourdomain.com", "Reply");//CC and BCC$mail->addCC("cc@example.com");$mail->addBCC("bcc@example.com");//Send HTML or Plain Text email$mail->isHTML(true);$mail->Subject = "Subject Text";$mail->Body = "Mail body in HTML";$mail->AltBody = "This is the plain text version of the email content";try {    $mail->send();    echo "Message has been sent successfully";} catch (Exception $e) {    echo "Mailer Error: " . $mail->ErrorInfo;}

使用PHPMailer发送带有附件的电子邮件的示例:

";$body .= " Hello Dimitrios";$body .= "Your personal photograph to this message.";$body .= "Sincerely,";$body .= "phpmailer test message ";$body .= "
" ; // And the absolute required configurations for sending HTML with attachement $mail->AddAddress("sendemailto@mail.zz", "My-webpage Website");$mail->Subject = "test for phpmailer-3";$mail->MsgHTML($body);$mail->AddAttachment("phpmailer.gif");if(!$mail->Send()) {echo "There was an error sending the message";exit;}echo "Message was sent successfully"; ?>

要将附件添加到电子邮件中,我们只需要使用addAttachment函数,该函数接受文件路径作为参数。要附加多个文件,你只需要多次调用它就可以了。

以上是本文的全部类容,感谢阅读,希望能帮到大家。更多教程请访问码农之家   

来源地址:https://blog.csdn.net/wuxiaopengnihao1/article/details/126462572

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯