通过 PHP 通过电子邮件发送 HTML

2022-08-30 08:31:18

如何使用PHP发送带有图片的HTML格式的电子邮件?

我想有一个包含一些设置和HTML输出的页面,通过电子邮件发送到地址。我该怎么办?

主要问题是附加文件。我该怎么做?


答案 1

这很简单。将图像留在服务器上,然后将PHP + CSS发送给他们...

$to = 'bob@example.com';

$subject = 'Website Change Request';

$headers  = "From: " . strip_tags($_POST['req-email']) . "\r\n";
$headers .= "Reply-To: " . strip_tags($_POST['req-email']) . "\r\n";
$headers .= "CC: susan@example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

$message = '<p><strong>This is strong text</strong> while this is not.</p>';


mail($to, $subject, $message, $headers);

正是这一行告诉邮件者和收件人,电子邮件包含(希望)格式正确的HTML,它需要解释:

$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

这是我从中获取信息的链接...(链接)

您将需要安全性...


答案 2

您需要使用图像的绝对路径对 HTML 内容进行编码。通过绝对路径,我的意思是您必须将图像上传到服务器,并且在图像的属性中,您必须提供直接路径,如下所示 。src<img src="http://yourdomain.com/images/example.jpg">

以下是PHP代码供您参考:它取自邮件

<?php
    // Multiple recipients
    $to  = 'aidan@example.com' . ', '; // Note the comma
    $to .= 'wez@example.com';

    // Subject
    $subject = 'Birthday Reminders for August';

    // Message
    $message = '
      <p>Here are the birthdays upcoming in August!</p>
    ';

    // To send HTML mail, the Content-type header must be set
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=UTF-8' . "\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";


    // Mail it
    mail($to, $subject, $message, $headers);
?>

推荐