0

重複の可能性:
PHPからHTMLメールを送信する

GmailアカウントからPHPを使用してメールを送信しています。そして、sendmail以外のssmtpを使用しています。次のphpコードを使用してメールを送信しています。

$to = "mymail@gmail.com";
$from = "mymail@gmail.com";
$subject = "Testing mail";
$header  = "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html; charset: utf8\r\n";     
$headers = "From:" . $from;
$message = "<html><body><head></head>";
$message .= "<h1>Hello, World!</h1>";
$message .= "</body></html>";

if(mail($to,$subject,$message,$headers)){
   echo "Mail Sent.";
} else {
   echo 'failed';
}

しかし、私は以下のようなメールを受け取っています

<html><body><head></head><h1>Hello, World!</h1></body></html>

その理由は何でしょうか?UbuntuでssmtpMTAを使用しています。

4

4 に答える 4

1

ヘッダー(単数形)とヘッダー(複数形)を区別せずに使用しています。正しい方法は、ヘッダーに複数形を使用することです。

$headers  = "From: " . strip_tags($_POST['req-email']) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

これは良い読み物です:http: //css-tricks.com/sending-nice-html-email-with-php/

于 2012-12-18T07:29:39.233 に答える
1

これを使って

<?php
$to = "mymail@gmail.com";
                $from = "mymail@gmail.com";
                $subject = "Testing mail";
                $header  = "MIME-Version: 1.0\r\n";

        $header .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

                $header .= "From:" . $from;

                $message = "<html><body><head></head>";
                $message .= "<h1>Hello, World!</h1>";
                $message .= "</body></html>";

                if(mail($to,$subject,$message,$headers)){
                echo "Mail Sent.";
                } else {
                echo 'failed';
                }
?>
于 2012-12-18T07:16:19.787 に答える
1

コードで以下を使用してみてください

$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

このリンクが最も役立ちます

PHPでHTMLメールを送信する

于 2012-12-18T07:19:15.450 に答える
0

これは、PHPがそれ自体で新しい行を作成しないためです。echo "Lalala\n"を使用して新しい行を作成できます。

于 2012-12-18T07:15:52.857 に答える