将图像添加到PHP电子邮件脚本

将图像添加到PHP电子邮件脚本,php,forms,email,Php,Forms,Email,我对这个问题做了一些研究,但仍然找不到我能理解的答案。基本上,我试图添加一个标志,通过我的电子邮件PHP脚本发送的电子邮件。我的PHP脚本的代码是: <?php $name = $_POST['Name']; $email = $_POST['Email']; $sub = $_POST['Subject']; $message = $_POST['Message']; $Subject = "$sub"; $Sendto = "Omitted for privacy reasons"

我对这个问题做了一些研究,但仍然找不到我能理解的答案。基本上,我试图添加一个标志,通过我的电子邮件PHP脚本发送的电子邮件。我的PHP脚本的代码是:

<?php
$name = $_POST['Name'];
$email = $_POST['Email'];
$sub = $_POST['Subject'];
$message = $_POST['Message'];


$Subject = "$sub";
$Sendto = "Omitted for privacy reasons";


mail($Sendto,$Subject,
"$message

Email: $email
Name: $name
"
,"From: $email,$name");
?>

如何将保存在服务器上的图像放在电子邮件上方的图像/徽标中:$email是邮件的一部分?

谢谢


作为一个附带问题,有谁能给我提供一个指南或阅读资料,告诉我如何将邮件美化为如此简单的邮件

你可以做的是,发送邮件时不要使用“text/plain”,而是使用“text/html”。 然后,您的电子邮件内容基本上是一个静态网页,您可以在其中插入图像

包含HTML内容的邮件的示例代码

$to = 'to@someone.com';
$subject = 'The Subject';

$headers = "From: " . strip_tags($_POST['req-email']) . "\r\n";
$headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n";
$headers .= "CC: other@someone.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
// this is the important header to set the type
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

// now $message can be a static html page like:
$message = '<html><body>';
$message .= '<h1>Hello, World!</h1>';
$message .= '</body></html>';

// with image embedded
$message = '<html><body>';
$message .= '<h1>Hello, World!</h1>';
$message .= '<img src="http://i.stack.imgur.com/Qmw3Z.jpg?s=32&g=1" alt="AVTR" />';
$message .= '</body></html>';
$to='1!'to@someone.com';
$subject='主题';
$headers=“From:”。去除标签($\u POST['req-email'])。“\r\n”;
$headers.=“回复:”。去除标签($\u POST['req-email'])。“\r\n”;
$headers.=“抄送:other@someone.com\r\n“;
$headers.=“MIME版本:1.0\r\n”;
//这是设置类型的重要标题
$headers.=“内容类型:text/html;字符集=ISO-8859-1\r\n”;
//现在$message可以是静态html页面,如:
$message='';
$message.=“你好,世界!”;
$message.='';
//嵌入图像
$message='';
$message.=“你好,世界!”;
$message.='';
$message.='';
重要提示:如果您在来自POST的消息中插入了内容,请不要忘记使用
htmlentities($\u POST['somevar'))
striptags
正确转义

然后发送邮件:
mail($to、$subject、$message、$headers)

对侧问的回答:“有谁能给我提供一个指南或阅读如何美化信息,因为它如此简单。”。当您以HTML形式发送邮件时,您可能会将CSS样式应用于HTML

  • 初学者教程:
  • 你也可以在谷歌上搜索“html电子邮件模板”,下载一个并根据需要修改

在邮件标题中指定text/html,然后像编写任何旧式html4标记一样编写电子邮件标记。非常感谢您的帮助,但您能否详细介绍一下转义/条带标记这件事?对不起,我对PHPNo问题还不太熟悉。有两件事很重要:输入过滤和输出转义。输入过滤和验证确保只有值进入您想要的系统。让我们从表单字段“name”输入$\u GET['name']。用户输入“7777”。这可能是一个有效的昵称,但不是一个正确的名称。您必须定义系统的正确名称,比如“name”应该是“only chars azAz0-9”。主题是“服务器端的表单验证”。输出转义确保没有不需要的内容发送到输出。如果您没有正确地转义电子邮件标题或邮件内容的输出,一个中等聪明的攻击者可以劫持整个邮件,并将其替换为自己的邮件,用自己喜欢的内容发送给任何人。更多信息:在做了一些与这个答案相关的研究之后,我已经成功地重新格式化了我的信息,它们现在看起来很棒,非常感谢