php下如何轻松快速的发送邮件

对于程序员来说,项目中邮件发送是常用的一个功能, 我在这不讲源码,只讲如何能快速地实现.phpMailer 是一个非常强大的 php发送邮件类,可以设定发送邮件

大家好,今天给各位分享php下如何轻松快速的发送邮件的一些知识,其中也会对进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

phpMailer的特点:

1. 电子邮件中包含多个TO、CC、BCC 和REPLY-TO。 2. 该平台应用广泛,支持的SMTP服务器包括Sendmail、qmail、Postfix、Gmail、Imail、Exchange等。 3. 支持嵌入图像、附件和HTML电子邮件。 4、可靠、强大的调试功能。 5.支持SMTP认证。 6. 自定义电子邮件标题。 7. 支持8bit、base64、二进制和quoted-printable编码。 phpmailer安装或下载方法:

从github下载: https://github.com/PHPMailer/PHPMailer/

就这三个文件

如果实在下载不了,可以直接问我。没关系。

PHP 支持套接字和openssl 扩展。这个错误会及时得到解决。

此时,我们就可以将压缩包解压到我们的项目中了。对于PHP来说,如果我们使用一个框架,比如think PHP,那么我们把它放在extend目录下,如下图:

思考PHP

拨打时请使用以下:

如果你不使用框架,那么将其放在公共三方参考目录中或者直接将其放在与你当前的php文件同一目录中。没关系。正确写出参考路径即可,如下图:

拨打时,以下是:

相信这时候大家就不会有任何问题了。我们重点关注代码级问题:

在发送之前您需要有自己的邮件服务器。测试的时候,其实使用自己申请的免费邮箱是最方便的。您不需要自己构建服务器。您可能需要配置邮箱的SMTP服务。大多数公共邮箱(163、qq等)的安全性默认是关闭的。

网易邮箱配置如下图:

QQ邮箱相关配置如下图:

我们在调试的时候,一般都会使用免费的邮件服务器,QQ或者163。在使用QQ邮箱的时候,人们往往会忽略一个问题,那就是QQ邮箱使用的是465端口,使用的是SSL协议,所以我们配置:如下

请注意,该密码是一个单独的授权码,而不是您的电子邮件密码。有人被困在这里了,哈哈

如果使用其他邮箱,可以使用25端口,但是这个有一个特别的坑,就是阿里云默认25端口是关闭的,所以没办法,要么不使用25端口,要么向阿里云申请25端口,或者更换服务器供应商,如IDC等,

如果您使用端口25,则不需要SSL 协议。

具体代码就是写这个和不写这个的区别。

还有同时发送多人、多个附件的问题:

发送多人、流程参数、循环

发送附件、工艺参数、循环

确实没什么可说的,但是附件路径必须直接指向您的二进制文件。相对路径和绝对路径都可以,但不是网络图片链接或第三方图片服务器链接,比如七牛云、阿里云oss。这只能先做。只需将其下载到本地或服务器即可。注意个人下载授权问题,你知道的。

这一步就差不多完成了,只要输入代码:

/**

* 发送邮件(重构/支持附件)

*/

//参数包含接收邮箱地址,可以是单人,也可以是多人。字符串和数组都很好。由你决定。

//主题,不用多说了

//内容,可以是html,自动识别

//附件,注意事项上面已经说了

//无需对第三方包进行任何修改

公共静态函数send_email($sendTo, $titleName, $content, $file_list=[]) {

$电子邮件=数组(

‘charset’=’UTF-8’, //字符编码

‘host’=’smtp.leju.com’, //企业邮局域名

‘端口’=25, //端口

‘用户名’=”, //邮件发件人

‘密码’=”, //密码

);

require_once ‘Phpmailer/phpmailer.php’;

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

//附录

if (!empty($file_list)) {

foreach ($file_list as $key=$value) {

$mail-AddAttachment($value); //添加附件

}

php下如何轻松快速的发送邮件

}

$标题名称=$标题名称;

//使用SMTP发送

$mail-IsSMTP();

//设置邮件的字符编码

$mail-CharSet=$email[‘字符集’];

//企业邮局域名

$mail-Host=$email[‘host’];

$mail-端口=$email[‘端口’];

//启用SMTP认证功能

$mail-SMTPAuth=true;

//邮件发件人的用户名(请填写完整的邮件地址)

$mail-用户名=$email[‘用户名’];

//邮件发送者密码(授权码)

$mail-密码=$email[‘密码’]; //修改为自己的授权码

//电子邮件发件人的电子邮件地址

$mail-From=$email[‘用户名’];

//发送邮件的人的头衔

$mail-发件人姓名=”;

//做一些处理,可以有多个收件人,也可以只有一个

//收件人地址可以替换为您想要接收电子邮件的任何电子邮件地址。格式为AddAddress(‘收件人电子邮件’, ‘收件人姓名’)

如果(!空($sendTo)){

$sendTo=爆炸(‘,’, $sendTo);

foreach ($sendTo as $k=$v) {

$mail-AddAddress($v, substr($v, 0, strpos($v, ‘@’)));

}

}

//回复地址

$mail-AddReplyTo($email[‘用户名’], ”);

//设置邮件格式为HTML //是否使用HTML格式

$mail-IsHTML(true);

//邮件标题

$mail-主题=$titleName;

//邮件内容

$邮件正文=$内容;

//附加信息,可省略

$mail-AltBody=”;

if (!$mail-Send()) {

$mail_return_arr[‘code’]=false;

$str=’发送邮件失败。’;

$str .=’错误原因: ‘ . $mail-ErrorInfo;

$mail_return_arr[‘info’]=$str;

} 别的{

$mail_return_arr[‘代码’]=true;

$str=’邮件发送成功’;

$mail_return_arr[‘info’]=$str;

}

返回$mail_return_arr;

用户评论

php下如何轻松快速的发送邮件
三年约

这篇博文真是太棒了!我一直都在找一个快速高效实现 PHP 邮件发送的方法,刚好遇到了你的这篇教程。步骤清晰易懂,代码简洁明了,简直完美!已经成功运行测试了,非常感谢分享!

    有9位网友表示赞同!

php下如何轻松快速的发送邮件
回忆未来

邮件发送虽然功能相对简单,但细节还是有很多需要注意的,比如服务器配置、安全问题等等。这个博客讲的比较全面,不仅有基础实现方法,还提到了常见问题和解决方案,真的很贴心!

    有6位网友表示赞同!

php下如何轻松快速的发送邮件
青衫故人

我使用的是其他的 PHP 框架,不知道这种方法是否适用。或许可以多分享一些不同场景下的发送方式,比如异步发送、带有附件等,能更丰富一点。

    有6位网友表示赞同!

php下如何轻松快速的发送邮件
桃洛憬

虽然代码示例简洁,但对于新手来说可能有点难以理解。能否详细解释一下每个部分的含义和作用?例如 `Mail::to()` 和 `Mail::send()` 这两个方法分别做什么?

    有7位网友表示赞同!

php下如何轻松快速的发送邮件
念旧是个瘾。

我试过这个方法发送邮件,但是收件箱始终没有收到!会不会是 PHP 的环境配置问题?还需要进一步了解一下服务器的相关设置。

    有14位网友表示赞同!

php下如何轻松快速的发送邮件
经典的对白

这篇文章给了我很好的启发!原来邮件发送可以用这么简单的方式完成。之前一直以为需要配置很复杂的 SMTP 服务器,真是太省事了!

    有16位网友表示赞同!

php下如何轻松快速的发送邮件
怪咖

这个方法确实快捷,但是对于安全性方面可能存在一些隐患。比如,如果邮件内容中包含敏感信息,很容易被其他人截获。建议在评论区分享一些关于邮件安全性的知识和建议!

    有11位网友表示赞同!

php下如何轻松快速的发送邮件
掉眼泪

我目前使用的是 Laravel 框架,不知道能否直接应用这个方法。或者 Laravel 中有没有更便捷的邮件发送方式?感觉 Laravel 本身好像就自带了邮件发送功能。

    有7位网友表示赞同!

php下如何轻松快速的发送邮件
伤离别

这篇博文真的太棒了!将各种问题和解决方案都概括地非常到位,读完后感觉自己对 PHP 邮件发送有了更加深入的理解。

    有16位网友表示赞同!

php下如何轻松快速的发送邮件
漫长の人生

这个方法简单易用,但是如果邮件量比较大时,这种方式会不会效率较低?有没有什么更高效、更专业的邮件发送方案可以推荐?

    有8位网友表示赞同!

php下如何轻松快速的发送邮件
此生一诺

我尝试了一下,发现这个方法在某些情况下会出现编码问题。比如,中文邮件无法正常显示。是否需要进行一些额外的处理来解决这个问题?

    有8位网友表示赞同!

php下如何轻松快速的发送邮件
孤独症

感觉这种快捷的方法比较适合简单的应用场景,对于复杂的环境下可能需要考虑其他方案才能确保稳定性。

    有18位网友表示赞同!

php下如何轻松快速的发送邮件
娇眉恨

博客写的很详细,对新手非常友好,一步步的指导让我顺利完成了邮件发送功能!感谢作者分享这些宝贵的经验!

    有19位网友表示赞同!

php下如何轻松快速的发送邮件
命里缺他

如果能够加上一些常见错误处理和调试方法,会更加完善。

    有6位网友表示赞同!

php下如何轻松快速的发送邮件
愁杀

我觉得文章中应该提到一下,使用这种方法发送邮件时需要注意安全问题,避免敏感信息的泄露。

    有11位网友表示赞同!

php下如何轻松快速的发送邮件
暮光薄凉

对于不同邮件服务的兼容性是否需要考虑?文章提到的一些代码片段是否适用于所有邮件服务?

    有13位网友表示赞同!

php下如何轻松快速的发送邮件
一生只盼一人

这个方法的实现效率怎么样?对于大量邮件发送来说,会不会比较耗费资源?

    有8位网友表示赞同!

php下如何轻松快速的发送邮件
北染陌人

很感谢作者分享这些知识!我之前也想学习如何用 PHP 发送邮件,但一直都没找到一个简单的方法。这篇博客彻底解决了我的疑问!

    有13位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/137815.html

(0)
小su's avatar小su
上一篇 2024年9月18日 下午1:24
下一篇 2024年9月18日 下午1:29

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注