2010-11-09 1 views
-1

Je veux être en mesure d'envoyer des mails en utilisant php. Je n'ai aucune expérience dans ce domaine. J'ai eu des scripts comme http://www.webcheatsheet.com/PHP/send_email_text_html_attachment.php. Je veux envoyer un courrier HTML qui doit être formé en utilisant les données d'une base de données mysql. J'ai des adresses électroniques stockées dans une base de données et je veux concevoir un script pour obtenir des adresses et appeler la fonction de mailing pour former le message html en conséquence et l'envoyer S'il vous plaît aidez-moi, donnez-moi une méthode pour envoyer des mails html formés peut être appelé sous la forme d'une fonction de sorte que je peux automatiser l'envoienvoyer un message en utilisant un script php (je veux le faire sous une forme de fonction)

J'ai ajouté le code que j'utilise S'IL VOUS PLAÎT ME DIRE L'ERREUR DANS CE ... WEN JE COURS CE SCRIPT UN MAIL VIDE AVEC UN ATTACHMNT VIDE ENVOYÉ À MON ID

<?php 
//define the receiver of the email 
$to = '[email protected]'; 
//define the subject of the email 
$subject = 'hi there'; 
//create a boundary string. It must be unique 
//so we use the MD5 algorithm to generate a random hash 
$random_hash = md5(date('r', time())); 
//define the headers we want passed. Note that they are separated with \r\n 
$headers = "From: blah <[email protected]>\r\nReply-To: [email protected]"; 
//add boundary string and mime type specification 
$headers .= "\r\nContent-Type: multipart/alternative; boundary=\"".$random_hash."\""; 
//define the body of the message. 
ob_start(); //Turn on output buffering 

echo $random_hash; 
echo '<br>Content-Type: text/plain; charset="iso-8859-1" 
<br>Content-Transfer-Encoding: 7bit'; 

echo '<br>Hello World!!! 
This is simple text email message.'; 

echo $random_hash; 

echo '<br>Content-Type: text/html; charset="iso-8859-1" 
<br>Content-Transfer-Encoding: 7bit '; 


echo ' 
<br><span><iframe src="http://www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2Fpages%2F89Deals%2F162906580388522&amp;width=200&amp;colorscheme=light&amp;connections=6&amp;stream=false&amp;header=true&amp;height=287" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:200px; height:287px;" allowTransparency="true"></iframe></span>gfhjfjhfjhjjgkgk<br> 
</span> 
</td> 
</table> 
</body> '; 



echo $random_hash; 

//copy current buffer contents into $message variable and delete current output buffer 
$message = ob_get_clean();; 

//echo $headers." "; 
echo $message; 
//send the email 
$mail_sent = @mail($to, $subject, $message, $headers); 
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed" 
echo $mail_sent ? "Mail sent" : "Mail failed"; 
?> 

Répondre

2

Le script est déjà PHP, il n'est donc pas nécessaire de le "convertir en PHP".

Pour comprendre le code avec lequel vous avez rencontré des problèmes, vous devez comprendre le tampon de sortie. ob_start() dit à PHP que tout ce qui sera produit par echo ne devrait pas vraiment être sorti mais plutôt être mis dans un tampon caché dont le contenu est ensuite récupéré en utilisant ob_get_clean(). Cela devient le contenu du mail.

Alors tout ce que vous échoez entre ob_start() et ob_get_clean() sera le contenu de votre courrier.

+0

hey merci .. ce que je dois faire est de convertir le tout en une fonction php..inorder pour faire ce que j'ai besoin d'écho tout ce qui ira dans le tampon, mais quand je echo Content-Type: text/plain ; charset = "iso-8859-1" .... il bousille mon courrier et un courrier vide est envoyé wid un attachmnt de 0 octets Content-Transfer-Encoding: 7bit – Anubhav

Questions connexes