2011-02-02 27 views
0

毎日更新されるmysqlデータベースのデータに基づいて毎日電子メールを送信する必要があります。私はそこにリンクを置くことができるように、htmlにする必要があります。私は電子メールの画像も使用します。基本的な構造は次のようになります。ここではmysql、html、画像埋め込みを使用したphpメール

は、リストです:(リンクあり)

ビジネス名 短い説明(リンクあり) 画像

(リンクあり)事業名 短い説明 イメージ(リンクです) 。 。

すべてのデータは、MySQLデータベース内にある(データベース内の「画像」は、ファイルなどの/images/business/image.jpgへの参照ですが)

私の質問は、私はphpmailerのを使用する必要がありますされて(I 「前にそれを使用決してVEのない)、またはこのようなものを使用して:

//set up msg 

$msg = "<html><body>Here's the list: <br /><br />"; 
while($i<numofelementsindb){ 
    $business=mysql_result($result, $i,"business"); 
    $description=mysql_result($result, $i,"description"); 
    $msg .= "The business name is <a href='www.example.com'><b>{$business}</b></a> does {$description}<br />\r\n"; 
    $i++; 
} 
$msg .= "</body> 
</html>"; 

//send 

私も何かアドバイスをいただければ幸いですので、どちらかのメールに画像を埋め込む方法がわかりません。
安全に関する提案はありますか?

おかげ

答えて

0

は、ここにあなたが望んで行うコードです:

require 'class.omime.php'; 
$email = new omime('related'); 

$html = "<html><body>Here's the list: <br /><br />"; 
while($i < numofelementsindb) { 
    $business = mysql_result($result, $i,"business"); 
    $description = mysql_result($result, $i,"description"); 
    $imageFilePath = ''; # path to image file 

    $cid = $email->attachFile($imageFilePath); 
    $html.= "The business name is <a href='www.example.com'><strong>{$business}</strong></a> does {$description}<br />\r\n"; 
    $html.= "<img src=\"cid:{$cid}\" alt=\"Image of {$business}\"/><br /><br />\r\n"; 
    $i++; 
} 
$html.= "</body></html>"; 

$email->attachHTML($html); 
$email->send('[email protected]', 'Daily List of Businesses', 'from: [email protected]'); 

あなたがAの上に配置する必要はありませんので、すべての画像を電子メールに添付されますウェブサーバー受信者は画像を表示するかどうか尋ねられます。興味があればomime source pageを確認してください。

0

私はそれはあなたが必要とするほとんど何のための準備方法を持っているため、phpmailerのを使用することをお勧め。それにもかかわらず、単純なphp mail()関数を使うこともできますが、HTMLメールが必要な場合はヘッダーにMIMEとコンテンツタイプを指定する必要があります。 )。

$header = 'MIME-Version: 1.0' . "\r\n"; 
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

イメージは、ウェブページ(<img src=....)と同じ方法で埋め込むことができます。多くのメールビューアは、デフォルトで電子メールボディに画像を読み込まないように設定されており、必要な場合にのみ読み込むようにユーザーに求めています。また、これらの画像の由来については、ユーザーからのものであればxssの脆弱性に晒されていることが非常に確実です。その場合、htmlに出力する前にエスケープしてください。私が書いたMIMEの電子メールのクラスを使用して

関連する問題