PHP在HTML电子邮件中嵌入图像
我可以使用此脚本成功发送普通电子邮件。但是,当我添加代码以在邮件标题顶部显示徽标时,所有内容都会爆炸。我得到一个HTTP错误。我认为这与引号有关PHP在HTML电子邮件中嵌入图像,php,html,image,email,html-email,Php,Html,Image,Email,Html Email,我可以使用此脚本成功发送普通电子邮件。但是,当我添加代码以在邮件标题顶部显示徽标时,所有内容都会爆炸。我得到一个HTTP错误。我认为这与引号有关 $to = $email; $subject = "My Website Email Confirmation"; $message = " <html> <head> <title>My Website Email Confirmati
$to = $email;
$subject = "My Website Email Confirmation";
$message = "
<html>
<head>
<title>My Website Email Confirmation</title>
</head>
<body>
<header>
<img src="https://www.mywebsite.com/images/logo_transparent_background.png" height="70px">
</header>
<br>
<br>
<p>Welcome to My Website. We are excited to be working with you. Please click here to confirm your email address.
<br>
<br>Best regards, <br>Your Team
</p>
</body>
</html>
";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From: <noreply@mywebsite.com>' . "\r\n";
mail($to,$subject,$message,$headers);
$to=$email;
$subject=“我的网站电子邮件确认”;
$message=”
我的网站电子邮件确认
欢迎访问我的网站。我们很高兴能与您合作。请单击此处确认您的电子邮件地址。
向您的团队致意
";
$headers=“MIME版本:1.0”。“\r\n”;
$headers.=“内容类型:text/html;字符集=UTF-8”。“\r\n”;
$headers.='From:'。“\r\n”;
邮件($to、$subject、$message、$headers);
我最终使用了PHPMailer。虽然一开始有点混乱,但最终效果很好。我不是每天都用这个东西,所以我需要花一分钟的时间来用它。我跟踪了几段YouTube视频才到达那里。它需要安装在我的web服务器上:
然后澄清了几个编码问题,特别是与图像相关的问题:
在(1)将其安装到web服务器和(2)使用上述资源更好地理解代码后,此代码对我有效:
require "phpmailertesting/PHPMailer/PHPMailerAutoload.php";
function smtpmailer($to, $from, $from_name, $subject, $body)
{
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Host = 'mail.mywebsite.com';
$mail->Port = 465;
$mail->Username = 'autoreply@ mywebsite.com';
$mail->Password = '##############';
$mail->AddEmbeddedImage('images/logo_transparent_background.png', 'logoimg');
$mail->IsHTML(true);
$mail->From="autoreply@ mywebsite.com";
$mail->FromName=$from_name;
$mail->Sender=$from;
$mail->AddReplyTo($from, $from_name);
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AddAddress($to);
if(!$mail->Send())
{
$error ="Please try Later, Error Occured while Processing...";
return $error;
}
else
{
$error = "Thanks You !! Your email is sent.";
return $error;
}
}
$to = $email;
$from = 'autoreply@ mywebsite.com';
$name = 'My Website';
$subj = 'My Website Email Confirmation';
$msg = '<h1><img src=cid:logoimg height="70px"></h1><br>'
.'<p>Greetings, we are looking forward to working with you!"</p><br>'
.'<p>Please <a href="https://www. mywebsite.com/validateemail.php">click here</a> to validate your email address.</p><br>'
.'<p>Once that is complete, we are ready to start your customized plan!</p><br>'
.'<p>Or, you can <a href="https://www. mywebsite.com/signin.php">sign-in</a> here once confirmed.<br>'
.'<p>Best regards,</p><br>'
.'<p>Your Team</p><br>';
$error=smtpmailer($to,$from, $name ,$subj, $msg);
要求“phpmailertesting/PHPMailer/phpmailerautoad.php”;
函数smtpmailer($to、$from、$from_name、$subject、$body)
{
$mail=new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth=true;
$mail->SMTPSecure='ssl';
$mail->Host='mail.mywebsite.com';
$mail->Port=465;
$mail->Username='autoreply@mywebsite.com';
$mail->Password='';
$mail->AddEmbeddedImage('images/logo_transparent_background.png','logoimg');
$mail->IsHTML(true);
$mail->From=“autoreply@mywebsite.com”;
$mail->FromName=$from\u name;
$mail->Sender=$from;
$mail->AddReplyTo($from,$from_name);
$mail->Subject=$Subject;
$mail->Body=$Body;
$mail->AddAddress($to);
如果(!$mail->Send())
{
$error=“请稍后再试,处理时出错…”;
返回$error;
}
其他的
{
$error=“谢谢!!您的电子邮件已发送。”;
返回$error;
}
}
$to=$email;
$from='autoreply@mywebsite.com';
$name=‘我的网站’;
$subc='我的网站电子邮件确认';
$msg='
'
您好,我们期待着与您合作!“
”
“请验证您的电子邮件地址。
”
完成后,我们就可以开始您的定制计划了!
'
.或者,您可以在这里确认。
'
“致以最良好的问候,
”
“你的团队
”;
$error=smtpmailer($to、$from、$name、$SUB、$msg);
请在同一行中编写HTML代码进行测试,并在打开和关闭的双引号中使用单引号。是的,暂时忽略电子邮件,让$message
成为一个有效的PHP变量,保存有效的HTMLLOR查看HEREDOC语法:只需一条旁注,查看一下,这会让事情变得更简单。正如其他人所说,但是perhaps不清楚,src=“中的双引号正在破坏代码。使用src=',而不是src=“”。或者,如果您觉得更简单,可以使用$message='..';(单引号),然后可以在$message中继续使用双引号。