URL Link 在 phpmailer 中传递 Php 变量时无法点击
URL Link not clickable when a Php variable is passed onto it in phpmailer
我正在尝试将某些 php 变量作为可点击 link 的一部分传递,以便通过 PhpMailer 发送。为此,我在这里引用了一个解决方案,但仍然无法正常工作
source
$site = 'http://example.com';
$user_id = 100;
$msg="Please Click links below.<br> <br>
<a href='$site/link1.php?id=$user_id'>Link 1</a><br><br>
<a href='$site/link2.php'>Link 2</a>";
$msg_body = "Here is your $msg";
这是我的问题: 当我 运行 代码时,电子邮件已成功发送,但 link1 和 link 2 不可点击。
下面是代码
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
// Load Composer's autoloader
require 'vendor/autoload.php';
// Instantiation and passing `true` enables exceptions
$mail = new PHPMailer(true);
$site = 'http://example.com';
$user_id = 100;
$msg="Please Click links below.<br> <br>
<a href='$site/link1.php?id=$user_id'>Link 1</a><br><br>
<a href='$site/link2.php'>Link 2</a>";
$msg_body = "Here is your $msg";
//PHP Mailer Server settings goes here
$mail->setFrom('henry@mysite.com', "Henry Good");
$mail->addAddress($reciever@gmail.com, 'Ann Ball); // Add a recipient
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'My Email Subject';
$mail->Body = $msg_body;
$mail->AltBody = $msg_body; // for Plain text for non-HTML mails
$sent = $mail->send();
尝试做类似的事情:
$mail->Body = html_entity_decode($msg_body);
或
$mail->set('Body', $msg_body);
- 以任何方式尝试将您的邮件正文包装在
<html></html>
中以获得有效代码。类似于我下面的示例:
$mail->Body = sprintf('<html><body>%s<body><html>', $msg_body);
我希望其中的内容能帮助您解决问题。
到目前为止我发现的一个问题是您将 $site 和 $user_id 变量连接到 $msg 变量
的内容的方式
$site = 'http://example.com';
$user_id = 100;
$msg = "Please Click links below. <br/><br/><a href='" . $site . "/link1.php?id=" . $user_id .
"'>Link</a><br><br><a href='" . $site . "/link2.php?id=" . $user_id . "'>Link2</a>";
有关字符串操作的更多信息https://www.php.net/manual/en/language.operators.string.php
我正在尝试将某些 php 变量作为可点击 link 的一部分传递,以便通过 PhpMailer 发送。为此,我在这里引用了一个解决方案,但仍然无法正常工作 source
$site = 'http://example.com';
$user_id = 100;
$msg="Please Click links below.<br> <br>
<a href='$site/link1.php?id=$user_id'>Link 1</a><br><br>
<a href='$site/link2.php'>Link 2</a>";
$msg_body = "Here is your $msg";
这是我的问题: 当我 运行 代码时,电子邮件已成功发送,但 link1 和 link 2 不可点击。
下面是代码
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
// Load Composer's autoloader
require 'vendor/autoload.php';
// Instantiation and passing `true` enables exceptions
$mail = new PHPMailer(true);
$site = 'http://example.com';
$user_id = 100;
$msg="Please Click links below.<br> <br>
<a href='$site/link1.php?id=$user_id'>Link 1</a><br><br>
<a href='$site/link2.php'>Link 2</a>";
$msg_body = "Here is your $msg";
//PHP Mailer Server settings goes here
$mail->setFrom('henry@mysite.com', "Henry Good");
$mail->addAddress($reciever@gmail.com, 'Ann Ball); // Add a recipient
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'My Email Subject';
$mail->Body = $msg_body;
$mail->AltBody = $msg_body; // for Plain text for non-HTML mails
$sent = $mail->send();
尝试做类似的事情:
$mail->Body = html_entity_decode($msg_body);
或$mail->set('Body', $msg_body);
- 以任何方式尝试将您的邮件正文包装在
<html></html>
中以获得有效代码。类似于我下面的示例:
$mail->Body = sprintf('<html><body>%s<body><html>', $msg_body);
我希望其中的内容能帮助您解决问题。
到目前为止我发现的一个问题是您将 $site 和 $user_id 变量连接到 $msg 变量
的内容的方式$site = 'http://example.com';
$user_id = 100;
$msg = "Please Click links below. <br/><br/><a href='" . $site . "/link1.php?id=" . $user_id .
"'>Link</a><br><br><a href='" . $site . "/link2.php?id=" . $user_id . "'>Link2</a>";
有关字符串操作的更多信息https://www.php.net/manual/en/language.operators.string.php