שילוב HTML ב- mail()

Dימה

New member
שילוב HTML ב- mail()

שלום, ברצוני לשלוח מייל מהאתר דרך הפונקציה mail() עם קודי HTML בכדי שהפ יפעלו(כמו ששולחים פרסומות). זהו הקוד שהכנתי(בעזרת פורום בוני אתרים):
<? if (isset($_POST['dsubmit'])) { $to = $_POST['dmail']; $subject = "לה לה לה"; $body = "<b>DiMkA</b><br /><a href='http://forme.6x.to'>ForMe</a>"; $headers = "From: [email protected]"; mail($to, $subject, $body, $headers, "Content-type: text/html; charset=windows-1255"); echo "המייל נשלח"; } if (!isset($_POST['dsubmit'])) { ?> <form action="<?=$PHP_SELF?>" method="post"> מייל: <input type="text" name="dmail"><br /> <input type="submit" name="dsubmit" value="שלח"> </form> <? } ?>​
אני מנסה לשלוח וזה שולח את הקוד עצמו. התוצאה שאני מקבל היא:
<b>DiMkA</b><br /><a href='http://forme.6x.to'>ForMe</a>​
מה הבעיה? כיצד לתקן אותה? תודה.
 

nezek2003

New member
מה שנראה לי

המייל עצמו הוא טקסט מה שאתה מנסה לעשות אולי קשור ל MIME תברר קצת על זה אולי יש דרך להגדיר את ה תוכן ב MIME ב HTML ואז זה יותר כפי שאתה רוצה
 

bzini

New member
אכן MIME

משתנה ה headers שלך צריך להראות דומה לקוד הבא:
$headers = "From: [email protected]\r\n"; $headers .= "MIME-Version: 1.0\nContent-Type: text/html;\n\tcharset=\"windows-1255\"\n";​
אין צורך להוסיף Content-type: text/html; charset=windows-1255 לסוף הפונקציה
 

Dימה

New member
ועוד שאלה..

אני רוצה לשלוח תוכן(!) של קובץ HTML שלם. כיצד אני יכול לעשות זאת? ניסיתי להעתיק אותו אבל אלו קודים של כמה שורות, או אולי ניתן לעשות זאת ע"י include, אבל איך בכדי שהוא יכנס למשתנה $body. תודה.
 

רוןמ

New member
למה שלא תעשה הפניה לעמוד אחר?

ואז זה יפתח פשוט את העמוד שאתה מפנה אליו
 

Dימה

New member
אני מעדיף שזה יהיה באותו הדף...

ממש כמו שעושים פרסומות...
 

רוןמ

New member
אז באמת תשתמש ב- include

למקרה שאתה לא מכיר את הפקודות ב- php

virtual("file"); include("file");​
 
למעלה