我正在尝试显示描述和图像(在电子邮件中显示我的数据库中的图像目录(example.com/upload/pic.jpg),但似乎不起作用,尽管其他字段显示在邮件中。这是我的代码。
答案 0 :(得分:1)
正如我在评论中写的那样,图片需要一个完整的网址,而不是您本地计算机的路径,另外还需要img src
并以HTML格式发送。
即:
<img src="http://www.example.com/image.jpg">
然后以HTML格式发送,访问PHP.net网站:
它包含示例,但我将在此处发布一个示例并从mail()
函数的手册中提取:
<?php
// multiple recipients
$to = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';
// subject
$subject = 'Birthday Reminders for August';
// message
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";
// Mail it
mail($to, $subject, $message, $headers);
?>
您基本上可以将额外的http://www.example.com/
添加到图像的现有变量中。不要忘记最后的斜线。
即:
$captain_image = "http://www.example.com/". $row["imagesPath"];
并在邮件中使用$captain_image
代码作为img src
代码。
即:
双引号中的 <img src="$captain_image">
。
但是,对于您的代码,它将读作并使用$captain_image
转义变量声明中\
的双引号。 (这对于获得正确的HTML标记并且不会同时导致解析错误很重要):
$message_coordinator .= "Image: <img src=\"$captain_image\"><br>";
以HTML格式发送时使用<br>
换行。
<img src='$captain_image'>
将失败并且只显示变量名而不是图像。考虑使用PHPMailer,它将使您的生活更轻松。
或Swiftmailer: