2014-05-06 58 views
-2

我使用php發送郵件,但我很願意將它們發送給我,正如我從Twitter或有點接收到的郵件一樣。所以我已經遵循了一些教程,以實現這一目標..我用:file_get_contents發送電子郵件,我創建了一個HTML頁面,將顯示在電子郵件的客戶。這裏是我的html頁面的代碼:如何使用html格式創建時尚的郵件php

  1. <!DOCTYPE html> 
        <html> 
        <head> 
        <meta charset="utf-8"> 
        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
        <style type="text/css"> 
        h2{ 
        font-family: 'Open Sans Condensed', sans-serif; 
        color: #0088cc; 
        text-shadow: 4px 4px 4px #aaa; 
         } 
        h4{ 
        font-family: 'Oxygen', sans-serif; 
        text-align: center; 
        color: #aaaaaa; 
         } 
    </style> 
    
        </head> 
        <body> 
    
        <center> 
    
    <h2 class="font-effect-shadow-multiple">Bienvenida a </h2> 
    <br> 
    <!--<img src="cid:image.jpg" alt="lupa" >--> 
    <h4>Hola nuevamente queremos darte la BIenvenida a nuestro sitio de 
         <strong><font color="#0088cc">Hoteles. </font> 
    </strong>Para comenzar queremos <br> darte algunas sencillas instrucciones 
    que te ayudaran a familiarizarte mas con esta util apliocacion</h4> 
    
    </center> 
    
        </body> 
        </html> 
    

,這裏是調用上面的html頁面我的PHP代碼:

 <?php 
    require_once('mailer/class.phpmailer.php'); 
    $correo = "[email protected]"; 
    $usuario = "alejandito"; 
    $direccion = "londrescopacabana"; 
    correo($correo, $usuario, $direccion); 

    function correo($correo, $usuario, $direccion){ 
     $correo2 = substr($correo, 1,3); 
    $usuario2 = substr($usuario, 1,2); 
     $direccion2 = substr($direccion, 2,3); 

    $mail = new PHPMailer(); 
    $mail->IsSMTP(); 
    $mail->SMTPAuth = true; 
    $mail->SMTPSecure = "ssl"; 
    $mail->Host = "smtp.gmail.com"; 
    $mail->Port = 465; 
    $mail->Username = "[email protected]"; 
    $mail->Password = "2203march1988"; 
    $mail->SetFrom('[email protected]', 'Alejandro Ferguson'); 
    $mail->AddReplyTo("[email protected]","Alejandro Ferguson"); 
    $mail->Subject = "Bienvenida al Sitio HotelFinder"; 
    $mail->IsHTML(true); 
    $mail->AddEmbeddedImage('../img/img_correo.png', 
     'Hotel','../../img/img_correo.png', 'base64', 'image/png'); 
    $mail->AddEmbeddedImage('../img/lupa.jpg', 'Lupa', '../../img/lupa.jpg', 
     'base64', 'image/jpg'); 
    $mail->MsgHTML(file_get_contents('../correos/correo_formato.html')); 
    $address = $correo; 

$mail->AddAddress($address, "Robertin"); 
if(!$mail->Send()) { 
echo "Error al enviar: " . $mail->ErrorInfo; 
} else { 
echo "Mensaje enviado!"; 
} 
    } 

好一切工作得很好,但在這裏是我的問題在圖像檢查出來的,(這是收件人在他/她的電子郵件帳戶上收到的):

enter image description here

現在出現我的問題: -HOw可以將圖像/圖標置於所需的位置嗎?我的意思是f.e:我想把房子圖標放在標題郵件旁邊,我該怎麼做?

- 如何在html頁面上插入文本? f.e:我需要向用戶顯示一個包含有關如何確認他/她的新帳戶的信息的網址。正如你可以在PHP代碼中看到,我有3個變量:$ correo,$ usuario,$ direccion所以我需要形成一個這樣的網址: localhost://android_4/correos/activa_cuenta.php? 用戶= $ usuario &錄音功= $ correo2 & ccionre = $ direccion2" ;

記住所形成的郵件,其中這隻能完成:PHP代碼頁...我如何添加這塊代碼在HTML頁面中顯示

我會比感激更與您的幫助!

+0

只要使用HTML,並且因爲這將在電子郵件客戶端中讀取,顯然,您必須使用絕對路徑的圖像到完全限定的域名。換句話說,不要製作圖像附件。 – developerwjk

+0

謝謝你的回覆!這是我朋友的問題! '因爲創建一個格式化的html郵件的整個事情是由於需要發送給客戶一個url,我們不想只顯示簡單的url,但看起來非常好!所以我不能避免這樣做... –

+0

爲了讓我說的更清楚,請參閱我的答案。 – developerwjk

回答

0

如果你有這樣的一行:

$mail->MsgHTML(file_get_contents('../correos/correo_formato.html')); 

無論是在文件中需要包含圖片與完全合格的域名,而不是你附加到電子郵件。例如:

<html><head><title>correo formato title</title></head> 
<body> 
    <img src='http://whatevermydomainis.com/img/lupa.jpg' /> 
</body> 
</html> 
+0

好吧,我明白了!你是對的!沒有必要附加任何東西,但在HTML頁面上?但是,我仍然沒有找到解決方案,以便如何添加一個URL並在該郵件中顯示該URL ......感謝回覆! –

+0

我沒有得到關於URL的問題。如果你只是'echo'.../activa_cuenta.php?user = $ usuario&recor = $ correo2&ccionre = $ direccion2「;'變量的值將被打印到HTML中,因爲PHP在你使用雙引號時會這樣做。 – developerwjk