ارسال عكس همراه با نامه

nasser110

Member
سلام به همه دوستان
من يك مشكل در فرستادن ايميل با PHP دارم به اين صورت كه مي خوام همراه متن نامه كه به صورت html است عكس هم باشه ولي از اين كد كه به صورت زير است :
کد:
<? 
$email_address = "[email protected]"; 
$email_name = "[email protected]"; 
$msg =   "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
$msg .= "<HTML><BODY>\n";
$msg .= "blah blah -- html version of the message\n";
$msg .= "<img border=\"0\" src=3D\"readme.gif\">\n"; 
$msg .= "</BODY></HTML>\n"; 


$body = ereg_replace("\n", "\n" ,"$msg" ) . "\n"; 
$headers = "";  
$headers .= "Content-Type: text/html; charset=UTF-8\n"; 
$headers .= "X-Priority: 1\n"; 
$headers .= "X-Mailer: PHP\n";
@mail($email_address, "salam akss", " " . $body . " ", $headers); 

?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<meta name="author" content="Ali Amirnezhad ([email protected])">
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<meta name="generator" content="Microsoft FrontPage 5.0">
<title>Contact US</title>
</head>

<body>
<p align="center"><font color="#000080" face="Tahoma"><span lang="fa">ط§غŒظ…غŒظ„ 
ط´ظ…ط§ ط¨ط§ ظ…ظˆظپظ‚غŒطھ ط§ط±ط³ط§ظ„ ط´ط¯</span></font></p>
<p align="center"><font color="#000080" face="Tahoma"><span lang="fa">ط§ط² ط´ظ…ط§ ظ…طھط´ع©ط±غŒظ…</span><br>
</font></p>
</body>

</html>
نمي تونه عكس به كار رفته رو پيدا كنه (يعني مسير عكس رو تشخيص نمي ده )
كسي اگه راهي بلده بگه واقعا ممنون مي شم
 

amirnezhad

Member
وقتي بخواهين از عكس توي پست الكترونيك استفاده كنين، بايد حتما آدرس رو كامل تايپ كنين ...

کد:
http://.../readme.gif
 

amirnezhad

Member
nasser110 گفت:
سلام
ممنون از جوابتون
ولي من به صورت www.Myadress.com/readme.gif هم استفاده كردم ولي باز عكس رو پيدا نمي كنه :roll:

ممنون مي شم جواب بدين

آقا يه سوال ...
اگه داري دقيقا از برنامه اي كه اينجا گذاشتي استفاده مي كني ...
يه خط توش هست به اين صورت:
کد:
$msg .= "<img border=\"0\" src=3D\"readme.gif\">\n";

منظورت از
کد:
src=3D\"readme.gif\"
چيه؟ ميتوني در مورد اون 3D بيشتر توضيح بدهي؟

و اگر از يه source متفاوت استفاده مي كني ...
ميتوني لطف كني و همون رو اينجا بذاري تا چكش كنم؟
 

nasser110

Member
سلام
واقعا ممنون از جوابتون و شرمنده از اين كه وقتتون رو گرفتم

اين خط رو اول بار من نوشتم كه مي رفت و از شاخه 3D اون عكس رو مي خوند ولي بعد از صحبت شما به اين صورت تغييرش دادم ولي باز هم نشد

کد:
$msg .= "<img border=\"0\" src=\"www.mysite.com/readme.gif\">\n";

شما كاري به 3D نداشته باشيد اونطوري كه فكر مي كنيد صحيح است رو بگوييد واقعا ممنون مي شم :oops: [/code]
 

amirnezhad

Member
کد:
$msg .= "<img border=\"0\" src=\"http://www.mysite.com/readme.gif\">\n";

فكر ميكنم اينطوري بايد كار بكنه ...
 

30yavash

Member
کد:
$headers .= "Content-Type: text/html; charset=UTF-8\n";
چرا آخرش \n گذاشتي؟
ببين براي جدا كردن اجزا header بايد از بك اسلاش آر بك اسلاش ان (\r\n) استفاده كني.
البته من تا حالا بك اسلاش ان خالي رو تست نكردم ولي يه زماني يه جايي خوندم كه روي \r\n خيلي تاكيد كرده بود.
 

amirnezhad

Member
30yavash گفت:
کد:
$headers .= "Content-Type: text/html; charset=UTF-8\n";
چرا آخرش \n گذاشتي؟
ببين براي جدا كردن اجزا header بايد از بك اسلاش آر بك اسلاش ان (\r\n) استفاده كني.
البته من تا حالا بك اسلاش ان خالي رو تست نكردم ولي يه زماني يه جايي خوندم كه روي \r\n خيلي تاكيد كرده بود.

من قبلا از n\ خالي استفاده كردم تا بحال هم به مشكتي بر نخوردم (البته شايد به قول شما استاندارد نباشه!) :wink:
 

30yavash

Member
amirnezhad گفت:
30yavash گفت:
کد:
$headers .= "Content-Type: text/html; charset=UTF-8\n";
چرا آخرش \n گذاشتي؟
ببين براي جدا كردن اجزا header بايد از بك اسلاش آر بك اسلاش ان (\r\n) استفاده كني.
البته من تا حالا بك اسلاش ان خالي رو تست نكردم ولي يه زماني يه جايي خوندم كه روي \r\n خيلي تاكيد كرده بود.

من قبلا از n\ خالي استفاده كردم تا بحال هم به مشكتي بر نخوردم (البته شايد به قول شما استاندارد نباشه!) :wink:
يه مشكل ديگه هم داره يادم رفت بگم
هر وقت بخاي متن HTML رو بفرستي بايد توي قسمت Header دوتا تعريف انجام بدي يعني اين دوتا
کد:
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
كه شما MIME رو مشخص نكردي.اگر اين دوتا تعريف رو مشخص نكني نمي توني متن html رو بفرستي.
يه كد خيلي ساده برات مي‌نويسم خودت هر كاري خاستي باهاش بكن.
کد:
$to="Test <[email protected]>";
$headers ="From: [email][email protected][/email]\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$subject ="Hi";
$body="<html><head></head><body><a href='http://www.Demo.com'>Demo Link</a></body></html>";

if ( !mail($to,$subject,$body,$headers) )
{
echo 'Error.';
die();
}
البته با اين برنامه ساده نمي توني عكس رو attach كني ولي فكر كنم اگر از تگ img استفاده كني به يه جاهايي برسي.
 

جدیدترین ارسال ها

بالا