php 如何在PHP邮件功能中发送图像
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/26423942/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to send image in PHP mail function
提问by Vivek Saha
I want to send image in mail.How to add image so that it will show in the email I want to add image to the CLIENT MESSAGE BODY. How to use html in client message body?
我想在邮件中发送图像。如何添加图像以便它显示在电子邮件中我想将图像添加到客户端消息正文。如何在客户端消息正文中使用 html?
Here is my code :
这是我的代码:
<?php
/* subject and email varialbles*/
$emailSbuject = 'Enquiry';
$webMaster = '[email protected]';
$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: [email protected]\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;
?>
回答by cypher75
You cannot display images on text/plain emails as shown above. You must send it as text/html.
如上所示,您无法在文本/普通电子邮件上显示图像。您必须将其作为 text/html 发送。
So you first have to extend your headers like this:
所以你首先必须像这样扩展你的标题:
$header = "From: [email protected]\nMIME-Version: 1.0\nContent-Type: text/html; charset=utf-8\n";
Then you must update your mailcontent replacing \n
or linebreaks with html tags <br>
or even <p>
然后你必须\n
用 html 标签<br>
甚至更新你的邮件内容替换或换行符<p>
Then you also can include image tags having the image you want to show in the email
然后,您还可以包含具有要在电子邮件中显示的图像的图像标签
<img src="http://www.yourserver.com/myimages/image1.jpg">
This will be downloaded from your webserver when recipient opens it.
当收件人打开它时,它将从您的网络服务器下载。
.
.
BUT the much better way will be to use phpMailer Class
但是更好的方法是使用phpMailer 类
Using this, you will be able to include any images IN your email, without need to download it from any website. It is easy to learn and absolutely customizable.
使用它,您将能够在您的电子邮件中包含任何图像,而无需从任何网站下载。它易于学习且完全可定制。
By the way:You should use quotation marks for your $body and $body2 values...
顺便说一句:你应该为你的 $body 和 $body2 值使用引号......
$body= "<<<EOD
Contact Form Details of $nameFeild
Name: $nameFeild \n
City: $cityFeild \n
Country: $countryFeild \n"
回答by MrvynB
$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);