如何在PHP邮件功能中发送图像

时间:2014-10-17 11:21:41

标签: php html css email

我想通过邮件发送图片。如何添加图片以便在电子邮件中显示 我想将图像添加到CLIENT MESSAGE BODY。 如何在客户端消息体中使用html?

这是我的代码:

<?php
/* subject and email varialbles*/

$emailSbuject = 'Enquiry';
$webMaster = 'vivek@a.com';
$emailSbuject2 = 'Thank you';
$client = ' $emailFeild\r\n';
/*gathering data variables*/

$nameFeild = $_POST['name'];
$cityFeild = $_POST['city'];
$countryFeild = $_POST['country'];
$emailFeild = $_POST['email'];
$phoneFeild = $_POST['phone'];
$otherFeild = $_POST['other'];
$questionFeild = $_POST['question'];
$commentFeild = $_POST['comment'];
$phone1Feild = $_POST['phone1'];
$hear1Feild = $_POST['hear1'];
$hear2Feild = $_POST['hear2'];
$hear3Feild = $_POST['hear3'];
$hear4Feild = $_POST['hear4'];
$referralFeild = $_POST['referral'];
$otherhearFeild = $_POST['otherhear'];

// admin message body
$body= <<<EOD
Contact Form Details of $nameFeild

Name: $nameFeild \n
City: $cityFeild \n
Country: $countryFeild \n
Email: $emailFeild \n
Contact Phone: $phoneFeild \n
Other Phone: $otherFeild \n
Question: $questionFeild \n
Comment: $commentFeild \n
Contact Over: $phone1Feild \n
Known Us through: \n

 $hear1Feild
 $hear2Feild
 $hear3Feild
 $hear4Feild
 $referralFeild
 $otherhearFeild
EOD;
// Client message body
$body2 = <<<EOD


Dear $nameFeild



         Thank u for contacting IntaxFin. One of our representatives will contact you the     soonest. If you have more questions or information needed, please let us know. We are happy to serve     you! \n

        -From
         IntaxFin Team \n http://www.intaxfin.com \n

         Like us on Facebook \n         
         Follow us on Twitter \n         
         Connect with us on LinkedIn \n


-------------------------------------------------------------------------------------------------                     e-mail was automatically sent by IntaxFin Administration Directory and is for your reference. Please do not reply to this e-mail address.

Powered by HexCode Technologies Pvt. Ltd.

EOD;
    $headers = "From: $emailFeild\r\n";
    $header = "From: $noreply@intaxfin.com\r\n";
    $success = mail($webMaster,$emailSbuject,$body,$headers);
    $success1 = @mail($emailFeild,$emailSbuject2,$body2,$header);
    /*Result*/


    $theResults = <<<EOD
EOD;

echo  "$theResults";

header("Location: http://www.intaxfin.com/thankyou.html");
exit;
?>

2 个答案:

答案 0 :(得分:7)

您无法在文字/普通电子邮件上显示图片,如上所示。您必须以text / html格式发送。

所以你首先必须像这样扩展你的标题:

$header = "From: $noreply@intaxfin.com\nMIME-Version: 1.0\nContent-Type: text/html; charset=utf-8\n";

然后,您必须使用html标记\n甚至<br>

更新替换<p>或换行符的mailcontent

然后,您还可以添加包含要在电子邮件中显示的图像的图像标记

<img src="http://www.yourserver.com/myimages/image1.jpg">

当收件人打开它时,将从您的网络服务器下载。

但更好的方法是使用phpMailer Class

使用此功能,您可以在电子邮件中包含任何图像,而无需从任何网站下载。它易于学习,绝对可定制。

顺便说一下:你应该为你的$ body和$ body2值使用引号......

$body= "<<<EOD
Contact Form Details of $nameFeild

Name: $nameFeild \n
City: $cityFeild \n
Country: $countryFeild \n"

答案 1 :(得分:1)

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

$message = "<html><head>
<title>Your email at the time</title>
</head>
<body>
<img src=\"http://www.myserver.com/images_folder/my_image.jpg\">
</body>"
mail($email_to, $email_subject , $message,$headers);