大家晚上好,我有 phpmailer 代码,它允许我连接到 smtp 谷歌服务并通过它发送消息,这是代码
<?php
require_once("class.phpmailer.php");
include("class.smtp.php");
$sname="=?UTF-8?B?".base64_encode($sname)."?=\n";
$smail="";
$rname="=?UTF-8?B?".base64_encode($rname)."?=\n";
$rmail="";
$sub="=?UTF-8?B?".base64_encode($sub)."?=\n";
$body=$n;
$sname=$_POST['element_2'];
$n= $_POST['element_1'] . $_POST['element_3'];
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$gmail="account@gmail.com";
$gpass="password";
$mail->Username = $gmail;
$mail->Password = $gpass;
$mail->AddReplyTo($smail,$sname);
$rmail = "receive@hotmail.com";
$rname="me";
$mail->AddAddress($rmail, $rname);
$mail->From = $smail;
$mail->FromName = $sname;
$mail->Subject = $sub;
$mail->MsgHTML($body);
$mail->IsHTML(true);
if(!$mail->Send()) {
echo "fail";
}else{
echo "success";
}
?>
问题是,我无法获得发件人的姓名,我试图将其插入正文但无法成功
$n= $_POST['element_1'] . $_POST['element_3'];
我的第二个问题是我还有一个主题的 3 个单选按钮,我用过
if(isset($_POST['radio1'])){
$sub = "free";
}
if(isset($_POST['radio2'])){
$sub = "premium";
}
但仍然收到空主题,请您帮我提前谢谢
谢谢你的时间,我的第一个问题已经解决了,谢谢你,但不幸的是第二个问题没有。我给单选按钮赋予了相同的名称,并将它们的值更改如下
<input id="element_4_1" name="element_4" class="element radio" type="radio" value="free" />
<input id="element_4_1" name="element_4" class="element radio" type="radio" value="premium" />
当我选择一个单选按钮时,它的值应该是免费或溢价,但它的值是 1 我尝试了你的代码(我把它放在 $n 值下面)
$sub = isset($_POST['element_4']) ? $_POST['element_4'] : "no subject";
并尝试了这个
$sub = $_POST['element_4'];
但它没有用你能继续帮助吗,请提前谢谢