以下是如何使用 PHP SMTP 发送电子邮件而不进入垃圾邮件文件夹的分步示例。
我们将使用 PHPMailer 库,它简化了通过 SMTP 发送电子邮件的过程,并有助于提高送达率。按照以下步骤,您将了解如何正确配置 SMTP 以避免电子邮件进入垃圾邮件文件夹。
第1步:安装PHPMailer
首先,您需要安装 PHPMailer 库。您可以使用 Composer 来完成此操作。
composer require phpmailer/phpmailer
如果您没有 Composer,您可以从 GitHub 手动下载 PHPMailer 并将其包含在您的项目中。
第 2 步:创建 PHP 邮件脚本
创建一个新文件 send_email.php,您将在其中编写脚本以使用 PHPMailer 和 SMTP 发送电子邮件。
<?php // Load Composer's autoloader if using Composer require 'vendor/autoload.php'; // Import PHPMailer classes into the global namespace use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; $mail = new PHPMailer(true); try { //Server settings $mail->isSMTP(); // Use SMTP $mail->Host = 'smtp.example.com'; // Set the SMTP server (use your SMTP provider) $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = 'your_email@example.com'; // SMTP username $mail->Password = 'your_password'; // SMTP password $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Enable TLS encryption, `ssl` also accepted $mail->Port = 587; // TCP port to connect to (587 is common for TLS) //Recipients $mail->setFrom('your_email@example.com', 'Your Name'); $mail->addAddress('recipient@example.com', 'Recipient Name'); // Add recipient $mail->addReplyTo('reply_to@example.com', 'Reply Address'); // Add a reply-to address // Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = 'Test Email Subject'; $mail->Body = 'This is a <b>test email</b> sent using PHPMailer and SMTP.'; $mail->AltBody = 'This is a plain-text version of the email for non-HTML email clients.'; // Send the email $mail->send(); echo 'Message has been sent'; } catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; }
逐部分细分:
-
PHPMailer 初始化:
- 通过 Composer 包含必要的文件后,我们创建 PHPMailer 类的实例。
- try-catch 块用于处理发送电子邮件时可能发生的任何异常。
-
SMTP 服务器配置:
- $mail->isSMTP() 告诉 PHPMailer 使用 SMTP 发送电子邮件。
- $mail->Host = 'smtp.example.com':将 'smtp.example.com' 替换为您的 SMTP 提供商的主机(例如,Gmail 的 SMTP 是 'smtp.gmail.com')。
- $mail->SMTPAuth = true:这将启用身份验证,这通常是 SMTP 服务器所需要的。
- $mail->用户名和$mail->密码:在此处输入您的 SMTP 凭据。
- $mail->SMTPSecure:设置加密方法。为了安全起见,建议使用 TLS (STARTTLS)。
- $mail->Port:常见的 SMTP 端口为 TLS 的 587 和 SSL 的 465。使用您的 SMTP 服务器所需的端口。
-
设置发件人和收件人:
- $mail->setFrom('your_email@example.com', 'Your Name'): 指定发件人的电子邮件和姓名。
- $mail->addAddress('recipient@example.com', '收件人姓名'): 添加收件人的电子邮件和姓名。
- $mail->addReplyTo(): 设置回复电子邮件地址(可选)。
-
设置邮件内容:
- $mail->isHTML(true): 指定电子邮件内容将为 HTML。
- $mail->Subject:设置电子邮件主题。
- $mail->Body:这是电子邮件的 HTML 内容。
- $mail->AltBody:这是电子邮件正文的纯文本版本,对于不支持 HTML 的电子邮件客户端很有用。
-
发送电子邮件:
- $mail->send() 尝试发送电子邮件。如果成功,则打印成功信息;否则,错误将被捕获并显示。
步骤 3:SMTP 配置和最佳实践
为了避免电子邮件进入垃圾邮件文件夹,遵循以下最佳实践至关重要:
使用信誉良好的 SMTP 提供商:
使用 Gmail、SendGrid 或 Mailgun 等受信任的 SMTP 提供商可以提高送达率,因为它们不太可能被标记为垃圾邮件。验证您的域名:
为您的邮件设置 SPF(发件人策略框架)、DKIM(域名密钥识别邮件)和 DMARC(基于域的邮件身份验证、报告和一致性)记录域来验证您的电子邮件的合法性。避免垃圾内容:
确保您的电子邮件内容干净且未被标记为垃圾邮件。避免过度使用全部大写、垃圾词(如“免费”、“获胜者”等)以及过多的链接。使用纯文本替代:
始终包含电子邮件的纯文本版本 ($mail->AltBody)。一些电子邮件客户端将纯 HTML 电子邮件标记为可疑。避免使用免费电子邮件服务作为发件人:
使用您自己域中的专业电子邮件地址,而不是 Gmail、Yahoo 等免费服务,以避免被标记为垃圾邮件。限制每封电子邮件的收件人数量:
如果发送批量电子邮件,请使用适当的批量电子邮件服务,而不是在一封邮件中发送给多个收件人,以避免被标记为垃圾邮件。
第 4 步:运行脚本
将send_email.php文件上传到您的服务器并在浏览器中或通过命令行运行它:
php send_email.php
如果配置正确,您将看到消息:
Message has been sent
If there’s an error, it will display:
Message could not be sent. Mailer Error: {Error Message}
Conclusion
By using PHPMailer and a proper SMTP setup, you can ensure your emails are sent reliably and with a lower chance of landing in the spam folder. Here's a quick summary:
- Install PHPMailer to simplify email sending with SMTP.
- Configure SMTP correctly with authentication and encryption.
- Use proper domain verification (SPF, DKIM, DMARC) to increase deliverability.
- Write clean, non-spammy email content and always include a plain-text version.
- Run the script and monitor the success message or error log.
This approach ensures better deliverability and reduces the chances of your emails being marked as spam.
Feel free to follow me:
- GitHub
以上是使用 PHP 安全地传送电子邮件:使用 SMTP 发送无垃圾邮件的指南的详细内容。更多信息请关注PHP中文网其他相关文章!

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增强codemodocultion,可验证性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

选择DependencyInjection(DI)用于大型应用,ServiceLocator适合小型项目或原型。1)DI通过构造函数注入依赖,提高代码的测试性和模块化。2)ServiceLocator通过中心注册获取服务,方便但可能导致代码耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)启用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替换loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化进行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

tomakephpapplicationsfaster,关注台词:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,关注台词:1)启用opcodeCachingwithapCutoredUcescriptexecutiontime.2)实现databasequerycachingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandredececonnection.4 limitsclection.4.4

依赖注入(DI)通过显式传递依赖关系,显着提升了PHP代码的可测试性。 1)DI解耦类与具体实现,使测试和维护更灵活。 2)三种类型中,构造函数注入明确表达依赖,保持状态一致。 3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

databasequeryOptimizationinphpinvolVolVOLVESEVERSEVERSTRATEMIESOENHANCEPERANCE.1)SELECTONLYNLYNESSERSAYCOLUMNSTORMONTOUMTOUNSOUDSATATATATATATATATATATRANSFER.3)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver CS6
视觉化网页开发工具

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver Mac版
视觉化网页开发工具