一般的服务器都会禁用25
端口,所以不如利用SMTP
方式进行邮件的发送,也比较灵活好控制~
需要PHPMailer
,我在项目里已经包括了,所以不用单独下载或者安装了~
测试代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<?php require 'PHPMailer/src/PHPMailer.php'; require 'PHPMailer/src/SMTP.php'; require 'PHPMailer/src/Exception.php'; $mail = new PHPMailer\PHPMailer\PHPMailer(); try { //Server settings $mail->isSMTP(); $mail->Host = 'smtp.qq.com'; $mail->SMTPAuth = true; $mail->Username = 'xxx@qq.com'; $mail->Password = ''; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->CharSet = 'UTF-8'; //Recipients $mail->setFrom('xxx@qq.com', 'Mailer'); $mail->addAddress('xxxx@126.com', 'Recipient Name'); // Content $mail->isHTML(true); $mail->Subject = '测试邮件'; $mail->Body = '这是一封测试邮件。'; $mail->send(); echo '邮件发送成功!'; } catch (Exception $e) { echo "邮件发送失败。Mailer Error: {$mail->ErrorInfo}"; } ?> |
代码地址:
Github
:ma3252788/PHPTestMail (github.com)
Gitee
:公开分享/PHP测试邮件 (gitee.com)
这种发邮件的方式很落后,也很不安全,自用还是可以的,对外的话很容易泄漏自己服务器IP!
@明月登楼 好像确实是哈,明月有没有推荐的方式?我能想到的就是用SendGrid、Mailgun这些第三方了😄
@马春杰杰 第三方的也可以,但SendGrid、Mailgun这两个国内服务器用会很卡的,可以申请个免费的阿里云企业邮箱,我实测过很安全,每天200封免费额度,足够用了!
@明月登楼 噢噢,明白啦,我也搞个去~~感谢~😋