2017-04-02 30 views
-3

我想知道这是如何改变通过PHP给我的电子邮件的外观?如何在PHP中编辑邮件外观?

Here's the email:

I'd like to look something like this for example

这是一个PHP代码:

<?php 
$Ime = $_POST["Ime"]; 
$Prezime = $_POST["Prezime"]; 
$NaslovOglasa = $_POST["NaslovOglasa"]; 
$Email = $_POST["Email"]; 
$SadrzajOglasa = $_POST["SadrzajOglasa"]; 
$Kontakt = $_POST["Kontakt"]; 

if (isset($_POST['Istaknut_Oglas'])) { 
$IstaknutOglas = "Da"; 
} else { 
$IstaknutOglas = "Ne"; 
} 

if (isset($_POST['Standardni_Paket'])) { 
$StandardniPaket = "Da"; 
} else { 
$StandardniPaket = "Ne"; 
} 

$Za = "[email protected]"; 
$Od = "Od: " . $Email . "\r\n"; 
$Info .= "|NOVI OGLAS|" . "\r\n"; 
$Info .= "Ime: " . $Ime . "\r\n"; 
$Info .= "Prezime: " . $Prezime . "\r\n"; 
$Info .= "Naslov oglasa: " . $NaslovOglasa . "\r\n"; 
$Info .= "Sadrzaj oglasa: " . $SadrzajOglasa . "\r\n"; 
$Info .= "Kontakt informacije: " . $Kontakt . "\r\n"; 
$Info .= "Istaknut oglas: " . $IstaknutOglas . "\r\n"; 
$Info .= "Standardni paket: " . $StandardniPaket . "\r\n"; 
$Info .= "" . "\r\n"; 

if(isset($_FILES['file_array'])){ 
$name_array = $_FILES['file_array']['name']; 
$tmp_name_array = $_FILES['file_array']['tmp_name']; 
$type_array = $_FILES['file_array']['type']; 
$size_array = $_FILES['file_array']['size']; 
$error_array = $_FILES['file_array']['error']; 
for($i = 1; $i < count($tmp_name_array); $i++){ 
    if(move_uploaded_file($tmp_name_array[$i], "adsuploads/".$name_array[$i])){ 
     $Info .= "Fotografija ".$i.": ".$name_array[$i]. "\r\n"; 
    } 
} 
mail($Za, $Od, $Info); 
header("Location: http://bratunacinfo.000webhostapp.com/pages/postavi_oglas-3"); 
} 
?> 

我不知道这是否可以通过PHP来实现我或我需要一些框架

+0

使用html(将电子邮件的内容类型设置为'text/html') – gmc

+0

我建议使用经过测试的邮件库,如SwitfMail,PHPMailer或类似的。它可以节省您重新发明轮子的时间。发送html电子邮件时,您还应该为电子邮件客户端添加一个纯文本部分,这些电子邮件客户端无法读取HTML电子邮件或将其关闭,这对于其中一个公共库很容易。 –

回答

0

你需要做的如下:

  1. 以html格式准备邮件内容。

    <html> <body> //write your stuff </body> </html>

  2. 提供图像的绝对路径,而不是相对路径。所以,只提供图像名称是不够的。您需要提供该映像驻留在服务器中的确切路径。所以,它会从那里加载它。

+0

我已经做到了,一切运行良好,并且来了最近但是如何改变电子邮件的外观 –

+0

我只想当我们到达邮件看起来不同而不仅仅是文本 –

+0

你是什么意思的外观?你需要设置'Content-type:text/html' – Ravi

0

您可以将您的电子邮件作为HTML电子邮件发送。例如:

<?php 
    $to = "[email protected]"; 
    $subject = "Some email title"; 
    $content = " 
    <html> 
     <head> 
      <title>HTML email</title> 
     </head> 
     <body> 
      <p>This email contains HTML Tags!</p> 
      <table> 
       <tr> 
        <th>Firstname</th> 
        <th>Lastname</th> 
       </tr> 
       <tr> 
        <td>John</td> 
        <td>Doe</td> 
       </tr> 
      </table> 
     </body> 
    </html> 
    "; 

    $headers = "MIME-Version: 1.0\r\nContent-type:text/html;charset=UTF-8\r\n"; 
    mail($to, $subject, $content, $headers); 
?> 

欲了解更多信息,你可以访问this