/ / html und CSS-Code sind in der E-Mail-PHP-Mail nicht lesbar - PHP, HTML, CSS, E-Mail

HTML- und CSS-Code ist in der E-Mail-PHP-Mail nicht lesbar - PHP, HTML, CSS, E-Mail

Ich habe wirklich Probleme, eine E-Mail mit Anhang mithilfe der PHP-Mail () -Funktion zu erstellen. Ich habe meine Dateien erfolgreich angehängt, aber die gerade angezeigte Nachricht enthält HTML- und CSS-Code, keine E-Mail-Nachricht wie folgt:

Bildbeschreibung hier eingeben

Das ist mein Code:

 $htmlbody = "
<!doctype html>
<html>
<head>
<title>Invoice</title>

<style>
.invoice-box{
background-color: rgb(244, 244, 244);
max-width:800px;
margin:auto;
padding:30px;
border:1px solid #eee;
box-shadow:0 0 10px rgba(0, 0, 0, .15);
font-size:16px;
line-height:24px;
font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
color:#555;
border-color: #fe7100;
border-width: medium;
}

.invoice-box table{
width:100%;
line-height:inherit;
text-align:left;
}

.invoice-box table td{
padding:5px;
vertical-align:top;
}

.invoice-box table tr td:nth-child(2){
text-align:right;
}

.invoice-box table tr.top table td{
padding-bottom:20px;
}

.invoice-box table tr.top table td.title{
font-size:45px;
line-height:45px;
color:#333;
}

.invoice-box table tr.information table td{
padding-bottom:40px;
}

.invoice-box table tr.heading td{
background:#33665e;
border-bottom:1px solid #ddd;
font-weight:bold;
color: white;
}

.invoice-box table tr.details td{
padding-bottom:5px;
}

.invoice-box table tr.item td{
border-bottom:1px solid #eee;
}

.invoice-box table tr.item.last td{
border-bottom:none;
}

.invoice-box table tr.total td:nth-child(2){
border-top:2px solid #eee;
font-weight:bold;
}

@media only screen and (max-width: 600px) {
.invoice-box table tr.top table td{
width:100%;
display:block;
text-align:center;
}

.invoice-box table tr.information table td{
width:100%;
display:block;
text-align:center;
}
}

.block-garis{
width: 100%;
height: 3px;
background-color: #fe7100;
}
</style>
</head>

<body>
<div class="invoice-box">
<table cellpadding="0" cellspacing="0">
<tr class="top">
<td colspan="2">
<table>
<tr>
<td class="title">
<img src="/images/https://4travelo.com/logo.png" style="width:100%; max-width:200px;">
</td>

<td>
Invoice #: ".$id."<br>
Created: ".$tglbook."<br>
Due: ".$timeexpiry."
</td>
</tr>
</table>
</td>
</tr>

<tr>
<td colspan="2"><div class="block-garis"></div></td>
</tr>

<tr class="information">
<td colspan="2">
<table>
<tr>
<td>
4travelo.<br>
Jl. Kebonsari Menanggal 2B<br>
Surabaya.
</td>
</tr>
</table>
</td>
</tr>
<tr class="heading">

<td>
Keterangan Hotel
</td>

<td>
&nbsp;
</td>
</tr>

<tr class="details">
<td>
Nama Hotel
</td>

<td>
".$hotelname."
</td>
</tr>
<tr class="details">
<td>
Alamat Hotel
</td>

<td>
".$alamat."
</td>
</tr>
<tr class="details">
<td>
Checkin
</td>

<td>
".$checkin."
</td>
</tr>
<tr class="details">
<td>
Checkout
</td>

<td>
".$checkout."
</td>
</tr>

<tr class="heading">
<td>
Guest
</td>

<td>
&nbsp;
</td>
</tr>

<tr class="item">
<td>
Guest Name
</td>

<td>
".$paxesname."
</td>
</tr>

<tr class="item">
<td>
Type Kamar
</td>

<td>
".$room."
</td>
</tr>

<tr class="item">
<td>
Include BF/Net
</td>

<td>
".$meal."
</td>
</tr>

<tr class="item">
<td>
Dewasa
</td>

<td>
".$adult."
</td>
</tr>

<tr class="item">
<td>
Anak - Anak
</td>

<td>
".$child."
</td>
</tr>

<tr class="heading">
<td>
Total
</td>

<td>
&nbsp;
</td>
</tr>

<tr class="item">
<td>
Total
</td>

<td>
<b>Rp ".$payment."</b>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>

<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>

<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr style="font-size:10px; padding-top:50px;">
<td><b>Hotel cancelation policy :
<br>1. Pemesanan non refundable<br>
2. Tanggal inap & tipe kamar tidak dapat dirubah</b>
</td>
<td><b>our partner : </b> <br><img src="/images/https://4travelo.com/hb.png" alt=""></td>
</tr>

<tr>
<td>&nbsp;</td>
<td style=""></td>
</tr>
</table>
</div>

</body>
</html>";
$to = $email; //Recipient Email Address
$subject = "Test email with attachment"; //Email Subject
$headers = "From: admin@4travelo.comrnReply-To: admin@4travelo.com";
$random_hash = md5(date("r", time()));
$headers .= "rnContent-Type: multipart/mixed;
boundary="PHP-mixed-".$random_hash.""";
// Set your file path here
$attachment = chunk_split(base64_encode(file_get_contents("/home/travelo/public_html/4travelo.com/triomacan/4travelo_beta-2.0/document/".$invoice.".pdf")));


//define the body of the message.
$message = "--PHP-mixed-$random_hashrn"."Content-Type: multipart/alternative;
boundary="PHP-alt-$random_hash"rnrn";
$message .= "--PHP-alt-$random_hashrn"."Content-Type: text/plain;
charset="iso-8859-1"rn"."Content-Transfer-Encoding: 7bitrnrn";


//Insert the html message.
$message .= "$htmlbody";
$message .="rnrn--PHP-alt-$random_hash--rnrn";


//include attachment
$message .= "--PHP-mixed-$random_hashrn"."Content-Type: application/zip;
name="invoice.pdf"rn"."Content-Transfer-Encoding:
base64rn"."Content-Disposition: attachmentrnrn";

$message .= $attachment;
$message .= "/r/n--PHP-mixed-$random_hash--";


//send the email
$mail = mail( $to, $subject , $message, $headers, "-f admin@4travelo.com" );

echo $mail ? "Mail sent" : "Mail failed";

kann mir jemand helfen ??

Antworten:

2 für die Antwort № 1

Anstatt von

$message .= "--PHP-alt-$random_hashrn"."Content-Type: text/plain;

Versuchen

$message .= "--PHP-alt-$random_hashrn"."Content-Type: text/html;

0 für die Antwort № 2

Ich bin normalerweise kein großer Fan von "Probieren Sie ein anderes Paket" Geben Sie Antworten ein, aber ich mache eine Ausnahme für PHPs mail() Funktion. Es gibt weitaus schmerzlosere Lösungen, mit denen Sie Probleme vermeiden können. Ich habe PHPMailer verwendet (https://github.com/PHPMailer/PHPMailer) mit großem Erfolg in den letzten Jahren, aber es gibt auch einige andere, wie Swiftmailer.


0 für die Antwort № 3

Ihre Header sind auf mehrteilig / gemischt eingestellt. Versuchen Sie, sie aufzuräumen:

$headers  = "MIME-Version: 1.0" . "rn";
$headers .= "Content-type: text/html; charset=iso-8859-1" . "rn";
$headers .= "From: My Name Here <noreply@example.co.uk>" . "rn";

Ändern Sie auch den Inhaltstyp in der Nachricht in:

$message .= "--PHP-alt-$random_hashrn"."Content-Type: text/html;

Und woanders