本文目录导读:

在 PHP 中“加密邮件”通常有两种含义,这里分开说明,你可以根据实际需求选择:
混淆邮箱地址(防爬虫/防垃圾邮件)
这是最常见的需求,目的是防止爬虫抓取邮箱后发送垃圾邮件,推荐使用 JavaScript 动态拼接或编码混淆。
JavaScript 拼接(最推荐)
<?php
$email = "user@example.com";
$user = "user";
$domain = "example.com";
?>
<a href="javascript:void(0)" onclick="this.href='mailto:'+atob('<?php echo base64_encode($email); ?>')">联系我们</a>
HTML 实体编码
<?php $email = "user@example.com"; echo '<a href="mailto:' . htmlentities($email) . '">' . htmlentities($email) . '</a>'; ?>
字符反转
<?php
$email = "user@example.com";
$reversed = strrev($email);
?>
<a href="javascript:void(0)" onclick="this.href='mailto:'+'<?php echo $reversed; ?>'.split('').reverse().join('')">点击查看邮箱</a>
加密传输(SMTP 加密)
如果是指通过 SMTP 发送邮件时使用 SSL/TLS 加密,这是配置层面的问题。
使用 PHPMailer(推荐)
<?php
require 'vendor/autoload.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$mail = new PHPMailer(true);
try {
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com'; // SMTP 服务器
$mail->SMTPAuth = true;
$mail->Username = 'your@gmail.com';
$mail->Password = 'your_password';
$mail->SMTPSecure = 'tls'; // 使用 TLS 加密,也可以设为 'ssl'
$mail->Port = 587; // TLS 端口 587,SSL 端口 465
$mail->setFrom('from@example.com', '发件人');
$mail->addAddress('to@example.com', '收件人');
$mail->Subject = '测试邮件';
$mail->Body = '这是邮件正文';
$mail->send();
echo '邮件已发送';
} catch (Exception $e) {
echo "邮件发送失败: {$mail->ErrorInfo}";
}
?>
使用原生 PHP mail() 函数
<?php
// mail() 函数本身不支持加密,需要配置 php.ini
ini_set('SMTP', 'smtp.example.com'); // SMTP 服务器
ini_set('smtp_port', 465); // SSL 端口
// 还需要在 php.ini 中配置 SSL 证书路径
?>
加密邮件内容(数字签名/加密)
如果需要真正加密邮件内容,推荐使用 OpenPGP。
<?php // 使用 OpenPGP 库 require 'vendor/autoload.php'; use OpenPGP\OpenPGP; use OpenPGP\Message; $pgp = new OpenPGP(); // 使用接收方的公钥加密邮件内容 $encrypted = $pgp->encrypt($message, $recipientPublicKey); // 然后通过 SMTP 发送加密后的内容 ?>
总结建议
- 防止爬虫:用 JavaScript 拼接方案(方法一)
- 安全传输:用 PHPMailer 配置 TLS/SSL加密**:使用 OpenPGP 进行端到端加密
根据你的具体需求选择合适的方法,如果是普通网站展示邮箱,推荐方法一或二;如果是发送敏感邮件,需要配置 SSL/TLS 或用 OpenPGP 加密。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播