PHP发送HTML邮件

PHP发送HTML邮件,php,html,email,Php,Html,Email,我试图通过PHP发送一封HTML邮件,但似乎无法正常工作 这是我的代码: // multiple recipients $to = 'mail'; // subject $subject = 'Subject'; // message $message = " <html> <head> <title>Thanks</title> </head>

我试图通过PHP发送一封HTML邮件,但似乎无法正常工作

这是我的代码:

    // multiple recipients
    $to  = 'mail';

    // subject
    $subject = 'Subject';

    // message
    $message = "
    <html>
    <head>
      <title>Thanks</title>
    </head>
    <body>
        <div>
            <b>Thanks for your email</b>
        </div>
    </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: info <info@example.com>' . "\r\n";
    $headers .= 'From: Pynix <info@example.com>' . "\r\n";

    // Mail it
    mail($to, $subject, $message, $headers);
//多个收件人
$to='mail';
//主题
$subject='subject';
//信息
$message=”
谢谢
谢谢你的电子邮件
";
//要发送HTML邮件,必须设置内容类型标题
$headers='MIME版本:1.0'。“\r\n”;
$headers.='内容类型:文本/html;字符集=iso-8859-1'。“\r\n”;
//附加标题
$headers.='To:info'。“\r\n”;
$headers.='From:Pynix'。“\r\n”;
//邮寄
邮件($to、$subject、$message、$headers);
当我在Outlook中收到它时,它也不会显示任何发件人

有人有主意吗

谢谢

我使用SwiftMailer:

require_once('../lib/swiftMailer/lib/swift_required.php');
...
function sendEmail(){
  //Sendmail
  $transport = Swift_SendmailTransport::newInstance('/usr/sbin/sendmail -bs');

  //Create the Mailer using your created Transport
  $mailer = Swift_Mailer::newInstance($transport);

  $body="Dear $fname,\n\nYour job application was successful. \n\nYours,\n\nEamorr\n\n\n\n\n\n\n";


  //Create a message
  $message = Swift_Message::newInstance('Subject goes here')
    ->setFrom(array($email => "no-reply@yourdomain.com"))
    ->setTo(array($email => "$fname $lname"))
    ->setBody($body);

  //Send the message
  $result = $mailer->send($message);
}
您可以轻松地发送纯文本和html电子邮件。

我使用SwiftMailer:

require_once('../lib/swiftMailer/lib/swift_required.php');
...
function sendEmail(){
  //Sendmail
  $transport = Swift_SendmailTransport::newInstance('/usr/sbin/sendmail -bs');

  //Create the Mailer using your created Transport
  $mailer = Swift_Mailer::newInstance($transport);

  $body="Dear $fname,\n\nYour job application was successful. \n\nYours,\n\nEamorr\n\n\n\n\n\n\n";


  //Create a message
  $message = Swift_Message::newInstance('Subject goes here')
    ->setFrom(array($email => "no-reply@yourdomain.com"))
    ->setTo(array($email => "$fname $lname"))
    ->setBody($body);

  //Send the message
  $result = $mailer->send($message);
}

您可以轻松地发送纯文本和html电子邮件。

我认为您不必将
到:
行放在标题中,因为它是
邮件
功能的一个参数。 然而,一些邮件客户端不喜欢轻标题,下面是我的:

$header = 'From: "Contact" <mail>'.PHP_EOL.
                  'Reply-to: <mail>'.PHP_EOL.
                  'MIME-Version: 1.0'.PHP_EOL.
                  'Content-Type: text/plain; charset=utf-8'.PHP_EOL.
                  'Content-Transfer-Encoding: 8bit'.PHP_EOL.
                  'X-Mailer: PHP/'.PHP_VERSION.PHP_EOL;
$header='From:“Contact”.PHP\u EOL。
“回复:”.PHP_EOL。
“MIME版本:1.0”。PHP_EOL。
'内容类型:文本/普通;字符集=utf-8'.PHP\u EOL。
“内容传输编码:8位”。PHP_EOL。
“X-Mailer:PHP/”.PHP_VERSION.PHP_EOL;

我认为您不必将
置于标题中的:
行,因为它是
邮件
函数的一个参数。 然而,一些邮件客户端不喜欢轻标题,下面是我的:

$header = 'From: "Contact" <mail>'.PHP_EOL.
                  'Reply-to: <mail>'.PHP_EOL.
                  'MIME-Version: 1.0'.PHP_EOL.
                  'Content-Type: text/plain; charset=utf-8'.PHP_EOL.
                  'Content-Transfer-Encoding: 8bit'.PHP_EOL.
                  'X-Mailer: PHP/'.PHP_VERSION.PHP_EOL;
$header='From:“Contact”.PHP\u EOL。
“回复:”.PHP_EOL。
“MIME版本:1.0”。PHP_EOL。
'内容类型:文本/普通;字符集=utf-8'.PHP\u EOL。
“内容传输编码:8位”。PHP_EOL。
“X-Mailer:PHP/”.PHP_VERSION.PHP_EOL;
已修复

我发现由于某种原因,它在我的服务器上工作得非常好:

// Set The Headers:
$headers        =   'From: "Me" <info@skillsexchangenetwork.net>'.PHP_EOL.
'Reply-to: <Me@Him.com>'.PHP_EOL.
'Cc: <Her @There.com>'.PHP_EOL.
'MIME-Version: 1.0'.PHP_EOL.
'Content-type: text/html; charset=iso-8859-1'.PHP_EOL.
'Content-Transfer-Encoding: 8bit'.PHP_EOL.
'X-Mailer: PHP/'.PHP_VERSION.PHP_EOL;
// Send:
mail($to, $subject, $message, $headers);
//设置标题:
$headers='From:“Me”'.PHP\u EOL。
“回复:”.PHP_EOL。
“抄送:”.PHP_EOL。
“MIME版本:1.0”。PHP_EOL。
'内容类型:文本/html;字符集=iso-8859-1'.PHP\u下线。
“内容传输编码:8位”。PHP_EOL。
“X-Mailer:PHP/”.PHP_VERSION.PHP_EOL;
//发送:
邮件($to、$subject、$message、$headers);
感谢大家的支持。

已修复

我发现由于某种原因,它在我的服务器上工作得非常好:

// Set The Headers:
$headers        =   'From: "Me" <info@skillsexchangenetwork.net>'.PHP_EOL.
'Reply-to: <Me@Him.com>'.PHP_EOL.
'Cc: <Her @There.com>'.PHP_EOL.
'MIME-Version: 1.0'.PHP_EOL.
'Content-type: text/html; charset=iso-8859-1'.PHP_EOL.
'Content-Transfer-Encoding: 8bit'.PHP_EOL.
'X-Mailer: PHP/'.PHP_VERSION.PHP_EOL;
// Send:
mail($to, $subject, $message, $headers);
//设置标题:
$headers='From:“Me”'.PHP\u EOL。
“回复:”.PHP_EOL。
“抄送:”.PHP_EOL。
“MIME版本:1.0”。PHP_EOL。
'内容类型:文本/html;字符集=iso-8859-1'.PHP\u下线。
“内容传输编码:8位”。PHP_EOL。
“X-Mailer:PHP/”.PHP_VERSION.PHP_EOL;
//发送:
邮件($to、$subject、$message、$headers);

谢谢大家的支持。

看看这里,其他与HTML电子邮件相关的答案是sendmail还是安装了其他什么?@Sparky:sendmail肯定安装了。OP上写着“当我在Outlook中收到它时”。所以,一定是出了什么问题。。。这段代码似乎是直接从PHP.net网站上获取的。我从PHP.net网站和许多教程中获取了这段代码,但它仍然以纯文本形式发送。看看这里,其他与HTML电子邮件相关的答案是sendmail还是安装了什么?@Sparky:sendmail肯定安装了。OP上写着“当我在Outlook中收到它时”。所以,一定是出了什么问题。。。这段代码似乎是直接从PHP.net网站上获取的。我从PHP.net网站和许多教程中获取了这段代码,但它仍然以纯文本发送。嘿!我知道这有点离题,而且晚了3年,但在使用SwiftMailer时,您能将它与CKEditor结合使用吗?我的意思是,你能在CKEditor中设计你的邮件,然后通过SwiftMailer发送CKEditor输出的HTML,它会正确显示吗?嘿!我知道这有点离题,而且晚了3年,但在使用SwiftMailer时,您能将它与CKEditor结合使用吗?我的意思是,你能在CKEditor中设计你的邮件,然后通过SwiftMailer发送CKEditor输出的HTML,它会正确显示吗?