ارسال ایمیل

ninjaghaleb

Member
من یک ارسال ایمیل برای وبلاگم که از سرور بلاگفا استدرست کردم ولی مشکل داره
لطفااشکالش رو حل کنید

کد موتور به صورت Php ذخیره کردم

PHP:
<? 
$email_address = "[email protected] !"; 
$email_name = " [email protected] "; 
$next_page = "http://ninjaghaleb.webs.com/thanks.html"; 

$body = ""; 
$body .= "NAME: " . $name . "\n"; 
$body .= "FAMILY: " . $family . "\n"; 
$body .= "COMPANY: " . $company . "\n"; 
$body .= "PHONE: " . $phone . "\n"; 
$body .= "SELECT: " . $select . "\n";
$body .= "CHECK: " . $chek1 . "" . $chek2 . "" . $chek3 . "\n";
$body .= "RADIO: " . $radio . "\n";
$body .= "EMAIL: " . $email . "\n"; 
$body .= "WEBSITE: " . $website . "\n"; 
$body .= "MESSAGE:\n  " . ereg_replace("\n", "\n  ", $message) . "\n"; 

$headers = ""; 
$headers .= "From: " . $email_name . " <" . $email_address . ">\n"; 
$headers .= "X-Sender: <" . $email_address . ">\n"; 
$headers .= "X-Mailer: PHP\n"; 
$headers .= "X-Priority: 1\n"; 
$headers .= "Return-Path: <" . $email_address . ">\n"; 
$headers .= "Content-Type: text/html; charset=UTF-8\n"; 

@mail($email_address, "Contact Center", "<pre>" . $body . "</pre>", $headers); 

header("Location: " . $next_page); 

//This sends a confirmation to your visitor
mail("$email","  تشکر از کاربر Subject ", "Hi $name,\n
سفارش شما به زودی آماده میشود !\n
mersi,
$sitename
$siteaddress","FROM:$adminaddress"); 
//Confirmation is sent back to the Flash form that the process is complete

$sendresult = "Done!";
$send_answer = " MERSI ";
$send_answer .= rawurlencode($sendresult);
echo "$send_answer";
?>

کدی که در وبلاگم قرار دادم

PHP:
<html>

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> Mail Motor ::...</title> 

<script language="JavaScript"> 
<!-- 
function CheckForm(formID) { 
 if (formID.name.value == "") { alert("Please enter your name!"); formID.name.focus(); return false; } 
 if (formID.email.value == "") { alert("Please enter your email address!"); formID.email.focus(); return false; } 
 if (formID.message.value == "") { alert("Please enter your message!"); formID.message.focus(); return false; } 
 return true; 
} 
//--> 
</script> 

</head> 

<body> 
<center> 
<form method="post" action="http://ninjaghaleb.webs.com/motor.php" onsubmit="return CheckForm(this);"> 
<table border="0" cellpadding="2" cellspacing="0" style="font-family: verdana, arial; fonr-size: 10px;" height="496" width="446"> 
 <tr><td>
	<p align="center"><font face="Tahoma" style="font-size: 8pt">NAME »</font></td><td>
	<p align="left">
	<input type="text" name="name" value="" size="20" style="font-family: Tahoma; font-size: 8pt; color: #800000; border: 1px solid #800080"></td></tr> 
 <tr><td>
	<p align="center"><font face="Tahoma" style="font-size: 8pt">FAMILY »</font></td><td>
	<p align="left">
	<input type="text" name="family" value="" size="20" style="font-family: Tahoma; font-size: 8pt; color: #800000; border: 1px solid #800080"></td></tr> 
 <tr><td>
	<p align="center"><font style="font-size: 8pt">COMPANY »</font></td><td>
	<p align="left">
	<input type="text" name="company" value="" style="font-size: 8pt; font-family: Tahoma; color: #800000; border: 1px solid #800080" size="20"></td></tr> 
 <tr><td>
	<p align="center"><font style="font-size: 8pt">PHONE »</font></td><td>
	<p align="left">
	<input type="text" name="phone" value="" style="font-family: Tahoma; font-size: 8pt; color: #800000; border: 1px solid #800080" size="20"></td></tr>
 <tr><td>
	<p align="center"><font face="Tahoma" style="font-size: 8pt">SELECT »</font></td><td>
	<p align="left">
	<select size="1" name="select" style="font-family: Tahoma; font-size: 8pt; color: #800000; border: 1px solid #800080">
	<option value="1">1</option>
	<option value="2">2</option>
	<option value="3">3</option>
	<option value="4">4</option>
	</select></td></tr>
 <tr><td>
	<p align="center"><font face="Tahoma" style="font-size: 8pt">CHECK »</font></td><td>
	<p align="left"><input type="checkbox" name="chek1" value="1"><input type="checkbox" name="chek2" value="2"><input type="checkbox" name="chek3" value="3"></td></tr>
 <tr><td>
	<p align="center"><font face="Tahoma" style="font-size: 8pt">RADIO »</font></td><td>
	<p align="left">
	<input type="radio" value="gozine 1" checked name="radio" style="font-family: Tahoma; font-size: 8pt; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"><input type="radio" name="radio" value="gozine 2"><input type="radio" name="radio" value="gozine 3"><input type="radio" name="radio" value="gozine 4"></td></tr>
 <tr><td>
	<p align="center"><font face="Tahoma" style="font-size: 8pt">EMAIL »</font></td><td>
	<p align="left">
	<input type="text" name="email" value="" style="border: 1px solid #800080" size="20"></td></tr> 
<tr><td>
	<p align="center"><span style="font-size: 8pt">WEBSITE »</span></td><td>
	<p align="left">
	<input type="text" name="website" value="" style="font-family: Tahoma; font-size: 8pt; color: #800000; border: 1px solid #800080" size="20"></td></tr> 
<tr><td valign="top">&nbsp;<p align="center">
	<font face="Tahoma" style="font-size: 8pt">MESSAGE »</font></td><td>
	<p align="center">
	<textarea rows="7" cols="45" style="border:1px solid #800080; width: 343; height:157" name="message"></textarea></td></tr> 
<tr><td colspan="2" align="center" height="81">
	<p align="right">
	<input type="submit" value="ارسال" style="font-family: Tahoma; font-size: 8pt; color: #000080; border-style: dotted; border-width: 1px; padding: 0">         
	<input type="reset" value="فرم جدید" style="font-family: Tahoma; font-size: 8pt; color: #000080; border-style: dotted; border-width: 1px"></td></tr> 
</table> 
</form> 
</center> 
</body> 

</html>

و کد صفحه تشکر
PHP:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>THANKS :::..</title>
<style type="text/css">
.style1 {
	color: #FFFFFF;
}
.style2 {
	font-size: medium;
	font-family: Georgia;
}
.style3 {
	color: #666666;
}
</style>
</head>

<body background="http://ninjaghaleb.webs.com/NG/gs/BK.jpg">

<table border="0" width="600" id="table1" height="316" align="center">
	<tr>
		<td style="height: 65px">
		<embed src="http://ninjaghaleb.webs.com/NG/gs/H.swf" width="600" height="65"></td>
	</tr>
	<tr>
		<td>
		<p align="center"><font size="2" class="style2"><span class="style1">&nbsp;«««</span>
		<span class="style1">سفارش شما ارسال شد</span> <span class="style1">»»»</span></font><p align="center" class="style3">
		<font face="Tahoma" style="font-size: 8pt">&nbsp;
		بخش سفارش &nbsp; NINJAghaleb</font></td>
	</tr>
</table>

</body>

</html>
 
یعنی حالشو ببر

اگه بیشتر روش وقت بزاری نتیجه های بهترم میگیری مثلا میتونی از طریق یکی از ایمیل های سایتت respond درست کنی و تو فایلت معرفیش کنی تا برگشتشو از اونجا بزنه . خوب این کارم به این درد میخوره که اونجا دستت برای گرافیک و مطالب بیشتر بازتره .:-?
 

پیوست ها

  • sepenta pictures.zip
    3.2 کیلوبایت · بازدیدها: 17
?

ببین من همون فایلای خودتو برات درست کردم اسم سایتی رو هم که زده بودم سایت خودم بود :-?

قبل از اینکه بخوام توضیح بدم باید بگم من اصلا برنامه نویس php نیستم فقط بخاطر علاقه ایی که به دنیای کامپویتر دارم سعی میکنم تا یه موقعی هایی خودم رو سرگرم کنم با این چیزا .
ولی توضیحی که من بخوام بهت بگم به عنوان یک آماتور اینه که :

فایل index که خوب همیشه وقتی تو روت قرار میگره اجازه لود از بقیه صفحات رو اول بخودش اختصاص میده بعد مهمش مطالب داخلش هست که تو این فایلی که خودت درست کرده سفارش لود شدن فایل php رو داده . بنابراین اون رو در داخل خودش لود میکنه پس از لود شدن اینترال در صفحه index و php فعال میشه :

واریانسهای اولی که گذاشتم یا بعبارتی خودت تعریف کرده بودی فقط من کمی تغییر دادمشون به ترتیب زیر توضیح میدم :

کد:
$email_address = "[email protected]";  
$email_name = " www.day4design.com";

تو این واریانسهای ثابت در حقیقت subject و ایمیلی که قراره به اون فرستاده بشه رو تعریف کردیم .

که ازش در خط ارسال استفاده میشه :
یکی در لاین 35:
کد:
$headers .= "From: " . $email . " <" . $email_address . ">\n";

یکی در لاین 42:
کد:
@mail($email_address, "Contact Center", "<pre>" . $body . "</pre>", $headers);

یکی در لاین 46 :

کد:
$headers = "From: " .$email_name ." " . "<" . $email .">\r\n";


----------------------------------------------------------------


کد:
<?  
$email_address = "[email protected]";  
$email_name = " www.day4design.com";   
[COLOR="Red"]$next_page="tanx.html";[/COLOR]
$body = "";  
$body .= "NAME: " . $name . "\n";  
$body .= "FAMILY: " . $family . "\n";  
$body .= "COMPANY: " . $company . "\n";  
$body .= "PHONE: " . $phone . "\n";  
$body .= "SELECT: " . $select . "\n"; 
$body .= "CHECK: " . $chek1 . "" . $chek2 . "" . $chek3 . "\n"; 
$body .= "RADIO: " . $radio . "\n"; 
$body .= "EMAIL: " . $email . "\n";  
$body .= "WEBSITE: " . $website . "\n";  
$body .= "MESSAGE:\n  " . ereg_replace("\n", "\n  ", $message) . "\n";  

$headers = "";  
$headers .= "From: " . $email . " <" . $email_address . ">\n";  
$headers .= "X-Sender: <" . $email . ">\n";  
$headers .= "X-Mailer: PHP\n";  
$headers .= "X-Priority: 1\n";  
$headers .= "Return-Path: <" . $email_address . ">\n";  
$headers .= "Content-Type: text/html; charset=UTF-8\n";  

@mail($email_address, "Contact Center", "<pre>" . $body . "</pre>", $headers);  

//This sends a confirmation to your visitor 
$sendTo = $email;
$headers = "From: " .$email_name ." " . "<" . $email .">\r\n";
$headers .= "Return-path: " . $email;
$subject="Thank for email";
$message2="در اولين فرصت به شما پاسخ خواهيم داد . با تشکر از ارسال ايميل "."\r\n"."www.day4design.com";
@mail($sendTo, $subject, $message2, $headers);



//Confirmation is sent back to the Flash form that the process is complete 

$sendresult = "Done!"; 
function redirect($filename) {
    if (!headers_sent())
        header('Location: '.$filename);
    else {
        echo '<script type="text/javascript">';
        echo 'window.location.href="'.$filename.'";';
        echo '</script>';
        echo '<noscript>';
        echo '<meta http-equiv="refresh" content="0;url='.$filename.'" />';
        echo '</noscript>';
    }
}
redirect('tanx.html');
exit(); 


?>

---------------------------



خطی رو که قرمز کردم رو اگه برات بر نداشته بودم میتونی برداری چون اون دیگه لازم نیست .


php زبان برنامه نویسی هست به نظر من که برای انجام یک عملیات میتونی راههای زیای رو باهاش تجربه کنی یعنی این قابلیت رو داره که معادله های گوناگونی برای بدست اوردن یک جواب باهاش بسازیم .



-------------------------


کد:
//Confirmation is sent back to the Flash form that the process is complete 

$sendresult = "Done!"; 
function redirect($filename) {
    if (!headers_sent())
        header('Location: '.$filename);
    else {
        echo '<script type="text/javascript">';
        echo 'window.location.href="'.$filename.'";';
        echo '</script>';
        echo '<noscript>';
        echo '<meta http-equiv="refresh" content="0;url='.$filename.'" />';
        echo '</noscript>';
    }
}
redirect('tanx.html');
exit(); 


?>

بخش بالا بعد از ارسال ایمیل کاری میکنه که صفحه redirect بشه به صفحه tanx.html

حالا چرا من از redirect استفاده کردم ؟

علت این بود که یک بار صفحه index تو خودش email.php رو لود کرده بود و این مطلب رو باز بعنوان یک آماتور این کار میگم که احساس کردم قادر نیست دوباره با فرمان
کد:
 header("loaction:tanx.html");
کاری رو انجام بده ، بنابراین از redirect استفاده کردم .


حالا یک بخش برای ارسال ایمیل به تو و یک برگشت ایمیل به شخصی که فرم رو پر میکنه داریم :


کد زیر ارسال رو برای تو داره :
کد:
$headers = "";  
$headers .= "From: " . $email . " <" . $email_address . ">\n";  
$headers .= "X-Sender: <" . $email . ">\n";  
$headers .= "X-Mailer: PHP\n";  
$headers .= "X-Priority: 1\n";  
$headers .= "Return-Path: <" . $email_address . ">\n";  
$headers .= "Content-Type: text/html; charset=UTF-8\n";  

@mail($email_address, "Contact Center", "<pre>" . $body . "</pre>", $headers);

و کد زیر ارسال ایمیل برای کاربری که فرم رو پر کرده :

کد:
//This sends a confirmation to your visitor 
$sendTo = $email;
$headers = "From: " .$email_name ." " . "<" . $email .">\r\n";
$headers .= "Return-path: " . $email;
$subject="Thank for email";
$message2="در اولين فرصت به شما پاسخ خواهيم داد . با تشکر از ارسال ايميل "."\r\n"."www.day4design.com";
@mail($sendTo, $subject, $message2, $headers);

-------------------------------


تو این کد :
کد:
[COLOR="red"]$sendresult = "Done[/COLOR]!"; 
function redirect($filename) {
    if (!headers_sent())
        header('Location: '.$filename);
    else {
        echo '<script type="text/javascript">';
        echo 'window.location.href="'.$filename.'";';
        echo '</script>';
        echo '<noscript>';
        echo '<meta http-equiv="refresh" content="0;url='.$filename.'" />';
        echo '</noscript>';
    }
}
redirect('tanx.html');
[COLOR="red"]exit(); [/COLOR]

کلماتی رو که قرمز کردم کار حساسی رو انجام میدن یعنی تفهیم به صفحه برای زمانی که ارسال بطور کامل انجام شد و دومی برای خارج شدن صفحه email.php و انجام فرمان redirect .

-------------------------------------------

کد:
$body .= "EMAIL: " . $email . "\n";

تو کدی که بالا نوشتم در قسمت فرم این واریانس به ایمیل تخصیص داده شده که وقتی ارسال رو میزنه فرستاده میشه به :

کد:
$sendTo = $email;

و دقیقا همون ایمیلی که طرف وارده کرده بهش یک برگشت میخوره "

--------------------

کد:
$subject="Thank for email";

این خط میشه subject
و این خط :

کد:
$message2="در اولين فرصت به شما پاسخ خواهيم داد . با تشکر از ارسال ايميل "."\r\n"."www.day4design.com";

میشه متن نامه ارسال شده به طرف

من از این فرمها خیلی خوشم میاد و امیدوارم که متوجه شده باشی در هر صورت این کار اساتید بزرگی هست که اینجا مشغول به بحث و بررسی هستند و مدالهایی صلا و برنز گرفتن نه منی که خودم اومدم دنبال یه لقمه نون حلال میگردم :D

خلاصه اگر اشتباه توضیح داده باشم هیچ مسئولیتی رو در قبالش تقول نمیکنم چون من فقط دیدم کسی به پیامت جواب نداده دلم سوخت اومدم که ببینم چی میخواستی :lol:


موفق باشیم هممون:cool:
 
اسم index.html رو تغییر بده به همون صفحه ایی که وقتی کیلک میکنن برای ارسال ایمیل میخواد باز بشه .
بقیه چیزارو برات اوکی کردم تست کن و اگه اشکالی داشتی بگو .
در ضمن لینکی که میخوای استفاده کنی رو هم دقیق بهم بگو که کدوم گزینه تو سایتت میخواد این کار رو انجام بده

لینک دانلود :

http://www.mediafire.com/?spiyjijt202
 

ninjaghaleb

Member
آقا این لینکی رو که برای دانلود گذاشتی دانلود می شه ولی داخل زیپ هیچی نیست
 
دوباره دانلود کن

البته اینو

:cool:
 

پیوست ها

  • sepenta pictures.zip
    3.2 کیلوبایت · بازدیدها: 6

Allahparast

Member
تو پی اچ پی یه تابع به نام مایل که دوست عزیز گفتن خط 47 به نام
PHP:
mail();


همین تابع مهم ترین بدنه ی کد هست که الان یه توضیح کلی میدم
این تابع برای پست اکترونیکی در پی اچ پی به کار میره حالا چطور یه میلر ساده بنویسیم
PHP:
mail(1,2,4,[,4])

1.ادرس گیرنده را مشخص می کند
2.موضوع نامه
3.متن نامه
4.سر تیتر که دلخواه می باشد

موفق باشی یا علی
 

Gosling

New Member
سلام من هم با این فرم مشکل دارم گفتم یه تاپیک دیگه نزنم همینجا مطرح کنم.

من فرم رو آپلود کردم ولی فقط یه ایمیل بدون اطلاعات وارد شده می فرسته .
Name: Family: Company: Phone: Select: Check: Radio: Email: Website: Message: خالی . بدون اطلاعاتی که در فرم وارد می شه.
 

Gosling

New Member
با یاهو باهم صحبت میکنیم ok امروز برات حلش میکنم :cool:
سلام. ممنون .
من یاهو مسنجر ندارم . اگه لازمه برم دانلود کنم؟
من چند جا دیگه هم سرچ کردم افراد دیگه ای هم بودن که این مشکل رو داشتن.
مرسی اگه لطف کنی همینجا توضیح بدی که چرا اطلاعات رو نشون نمی ده خیلی خوب می شه اگه کسی سرچ کنه ممکنه به اون هم کمک بشه :rose:
 
سلام من هم با این فرم مشکل دارم گفتم یه تاپیک دیگه نزنم همینجا مطرح کنم.

من فرم رو آپلود کردم ولی فقط یه ایمیل بدون اطلاعات وارد شده می فرسته .
Name: Family: Company: Phone: Select: Check: Radio: Email: Website: Message: خالی . بدون اطلاعاتی که در فرم وارد می شه.

تو فایل index کدی وجود داره که به شکل زیر هستش :
کد:
<script language="JavaScript">  
<!--  
function CheckForm(formID) {  
 if (formID.name.value == "") { alert("Please enter your name!"); formID.name.focus(); return false; }  
 if (formID.email.value == "") { alert("Please enter your email address!"); formID.email.focus(); return false; }  
 if (formID.message.value == "") { alert("Please enter your message!"); formID.message.focus(); return false; }  
 return true;  
}  
//-->  
</script>

این کد یک جاوا اسکریپت هست که در خط :

کد:
<form method="post" action="email.php" onsubmit="return CheckForm(this);">

بازخونی میشه . حالا شما با اضافه کردن مقادیر دیگه به این تابع بصورت مشابه باری تمام فیلدها اخطار میگذارید تا در صورت خالی بود alert بزنن و به کاربر بگن که فیلدها را بدرستی پر کنه . و تا زمانی که تمام فیلدها رو پر نکرده ارسال ایمیل غیر ممکنه.

در صورتیکه این مسئله رخ نده به explorer شما مربوط میشه و این هم مقوله پیچیده ایی هست که بخاطر طراحی های مختلف این ابزار طریقه نمایش و کارایی اونا متفاوت میشه . من از avantbrowser استفاده میکنم . امکان نداره هیچ سایتی رو با ایراد نشون بده و دقیقا همون چیزی که طراح زحمت کشیده رو شما میبیند . تو این برنامه به من اخطار میده که فیلدها خالیه و ارسال ایمیل رو ممکن نمیکنه حالا ممکنه این مسئله برای firefox وجود نداشته باشه این برنامه اگر چه امنیت بالایی داره برای کاربر اما برای طراحان چیزه جالبی نیست چون تمام زندگینامه سایت رو نمایش میده و شاید هم طراح نخواد از وجود فایلی در سایتش کسی خبر دار بشه . و همین دلیلی میشه برای رد شدن از خیلی از الارمها .

در هر صورت اگه فرم بدون اخطار ارسال میشه باید رو قسمتی که گفتم کار کنید و تمام فیلدها رو اوکی کنید .

این لینک رو تست کنید :
http://day4design.com/tester/email/
من فیلدهای رو که باید آلارم بدن رو ستاره گذاشتم کنارشون که یعنی اینها ضروری هست پر کردنشون . حالا اگه بخواید تمام فیلدها همین ارور رو بدن تو قسمت :

کد:
<script language="JavaScript">  
<!--  
function CheckForm(formID) {  
 if (formID.name.value == "") {
 alert("لطفا نام خود را وارد نمایید"); 
 formID.name.focus();
 return false;
 }  
[COLOR="Red"] if (formID.family.value == "") {
 alert("لطفا نام خانوادگی خود را وارد نمایید"); 
 formID.family.focus();
 return false;
 } [/COLOR]
 if (formID.email.value == "") {
 alert("لطفا آدرس صحیح ایمیل خود را وارد نمایید"); 
 formID.email.focus(); 
 return false;
 }  
 if (formID.message.value == "") { 
 alert("لطفا پیغام خود را وارد نمایید");
 formID.message.focus(); 
 return false; }  
 return true;  
}  
//-->  
</script>
فیلدهای دیگه رو هم اضافه میکنید از خطوط قرمز کپی میگیرید و در زیر آخرین خط قرمز کد جدید رو کپی و ویرایش میکنید

فایل php رو با نات پد باز کنید و تو این دو تا خط ویرایش هر میلی که دارید و نام سایتتون رو بنویسید :


کد:
$email_address = "[COLOR="red"][email protected][/COLOR]";  
$email_name = " [COLOR="red"][email protected][/COLOR]";
اینم سورسش :
 

پیوست ها

  • email.zip
    20.4 کیلوبایت · بازدیدها: 6

Gosling

New Member
ممنون بابت وقتی که می ذاری ممنونم.
من منظورم اینه که خودم فرم رو کامل پر می کنم بعد می فرستم ولی اونچیزی که به ایمیلم می رسه این عکسه خالیه !
so2sug.jpg

منظورم این نیست که میشه فیلدی رو پر نکرد و فرم رو فرستاد اگه فیلدی پر نشه ارور رو می ده منتها وقتی پر می کنی و می فرستی انگار خالی فرستادی.
 
yahoo رو حتما دانلود کن

خوب این دفعه با عکس نشون میدم:

a7c5w.jpg


156651v.jpg


15duknk.jpg



f1w3o5.jpg


2hcga4k.jpg


و زمانی هم که ایملتون را باز کنید این صفحه میاد :

v42bnn.jpg


آخرین سورس رو میزارم که فکر میکنم دیگه اشکالی نداره :

:cool:
 

پیوست ها

  • emailtrue.zip
    20.3 کیلوبایت · بازدیدها: 9
من آدرس ایمیلم رو [email protected] زدم ولی چون فوروارده به یاهوم به خاطره همین یه نسخه هم به یاهوم میاد که تو عکس برای شما رو اون نشون دادم:cool:
 

ninjaghaleb

Member
من امروز تا ساعت 1 ظهر on هستم اگه می شه on شو باهات کار دارم :) my id :ninjasport3000
 
آخرین ویرایش:

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

بالا