我尝试通过PHP mail()函数发送样式信息沿着电子邮件。不幸的是,即使我的邮件客户端设置为接受样式化的电子邮件,它仍然只呈现为纯HTML文本。
$to = $email;
$subject = "Subject Details";
$message='<html><body><table width="600" height="840" border="0" cellpadding="5" cellspacing="5">';
$message.='<tr><td height="110"><img src="https://user.co.uk/images/logo.jpg" alt="SignDox" width="300" height="100" /></td></tr>';
$message.='<tr><td height="29" bgcolor="#5C1561"> </td></tr>';
$message.='<tr><td height="537" valign="top">';
$message.="Message Goes Here\n\n";
$message.="Username: ".$new_agent_id."\n";
$message.="Password: ".$pass1."\n\n";
$message.="To sign in to your user panel follow this link: \n";
$message.="Inside your admin section you will be able to change your username and password.\n";
$message.='</td></tr>';
$message.='<tr><td height="140" bgcolor="#5C1561"> </td></tr></table></body></html>';
$from = "no-reply@sender.co.uk";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
6条答案
按热度按时间f3temu5u1#
要发送HTML邮件,必须设置Content-type标头
1)如果要发送HTML或其他复杂的邮件,建议使用PEAR包PEAR::Mail_Mime。
2)值得注意的是,mail()函数并不适用于循环中的大量电子邮件,该函数为每封电子邮件打开和关闭一个SMTP套接字,效率不是很高。
请阅读更多这:PHP Manual
fnvucqvd2#
您需要定义正确的标题,以发送HTML格式的电子邮件。这可以非常简单地使用:
但是,我建议你使用
PHPMailer
类。这个类将处理所有的头文件和你可能需要的任何东西。你可以很容易地添加附件,嵌入图片,通过SMTP发送等等...这是一个非常棒的类,更不用说你将学习大量的对象和类,特别是如果你是一个PHP新手:-)
请参阅此处了解PHPMailer Class
yrefmtwq3#
根据需要设置内容类型和字符集。您还应该使用
\r\n
终止from头。14ifxucb4#
尝试一些类似
wooyq4lh5#
我希望这个函数能帮到你。试着用这个函数来作为你的send_mail,然后在按钮写一个条件来看看你的消息是否被提交了。你只需要在里面给予
7uhlpewt6#