نوشته شده توسط
ravand
اینو امتحان کن جواب میده:
کد HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
$to = 'mohammad@mesal.com';
// subject
$subject = 'موضوع نامه';
mb_internal_encoding('UTF-8');
$encoded_subject = mb_encode_mimeheader("Subject: $subject", 'UTF-8');
$encoded_subject = substr($encoded_subject, strlen('Subject: '));
$from="محمدرضا حسینیان";
// message
//باید حتما به این شکل باشه اگه در بخش استایل که بین تگ های هد هست باشه توی جیمیل کار نمیکنه
$message = '<table border="1">
<tr>
<td style="color:red">متن اول</td>
</tr>
<tr>
<td>متن دوم</td>
</tr>
</table>';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
// Additional headers
//نوشته ی فروم قبل از متغییر حتما باید باشد
$headers .= 'From:=?UTF-8?B?'.base64_encode($from).'?=<email@mesal.com>' . "\r\n";
//$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
//$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";
// Mail it
mail($to, $encoded_subject, $message, $headers);
?>
</body>
</html>
استایل دادنت هم به این روش باشه.
مال شما کار کرد ولی من چوون با ajax فرم تماس با ما گرفتم اگه ممکنه روی کدهای من چگ کنید کجاش باید تغییر کنه و از کجاست مشکلش
صفحه تماس با ما این اسکریپت رو گذاشتم:
کدها در صفحه contact.php
<script type="text/javascript">
$(document).ready(function() {
$("#submit_btn12").click(function() {
var proceed = true;
//simple validation at client's end
//loop through each field and we simply change border color to red for invalid fields
$("#contact_form input[required=true], #contact_form textarea[required=true]").each(function(){
$(this).css('border-color','');
if(!$.trim($(this).val())){ //if this field is empty
$(this).css('border-color','red'); //change border color to red
proceed = false; //set do not proceed flag
}
//check invalid email
var email_reg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if($(this).attr("type")=="email" && !email_reg.test($.trim($(this).val()))){
$(this).css('border-color','red'); //change border color to red
proceed = false; //set do not proceed flag
}
});
if(proceed) //everything looks good! proceed...
{
//get input field values data to be sent to server
post_data = {
'user_name' : $('input[name=name]').val(),
'user_email' : $('input[name=email]').val(),
'country_code' : $('input[name=phone1]').val(),
'phone_number' : $('input[name=phone2]').val(),
'subject' : $('select[name=subject]').val(),
'msg' : $('textarea[name=message]').val()
};
//Ajax post data to server
$.post('contact_proccess.php', post_data, function(response){
if(response.type == 'error'){ //load json data from server and output message
output = '<div class="error">'+response.text+'</div>';
}else{
output = '<div class="success">'+response.text+'</div>';
//reset values in all input fields
$("#contact_form input[required=true], #contact_form textarea[required=true]").val('');
$("#contact_form #contact_body").slideUp(); //hide form after success
}
$("#contact_form #contact_results").hide().html(output).slideDown() ;
}, 'json');
}
});
//reset previously set border colors and hide all message on .keyup()
$("#contact_form input[required=true], #contact_form textarea[required=true]").keyup(function() {
$(this).css('border-color','');
$("#result").slideUp();
});
});
</script>
اینم کدهای ارسال در صفحه contact_success.php
<?php
if($_POST)
{
$to_email = "myemail@gmail.com"; //Recipient email, Replace with own email here
//check if its an ajax request, exit if not
if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {
$output = json_encode(array( //create JSON data
'type'=>'error',
'text' => 'Sorry Request must be Ajax POST'
));
die($output); //exit script outputting json data
}
//Sanitize input data using PHP filter_var().
$user_name = filter_var($_POST["user_name"], FILTER_SANITIZE_STRING);
$user_email = filter_var($_POST["user_email"], FILTER_SANITIZE_EMAIL);
$country_code = filter_var($_POST["country_code"], FILTER_SANITIZE_NUMBER_INT);
$phone_number = filter_var($_POST["phone_number"], FILTER_SANITIZE_NUMBER_INT);
$subject = filter_var($_POST["subject"], FILTER_SANITIZE_STRING);
$message = filter_var($_POST["msg"], FILTER_SANITIZE_STRING);
//additional php validation
if(strlen($user_name)<4){ // If length is less than 4 it will output JSON error.
$output = json_encode(array('type'=>'error', 'text' => 'نام وارد شده کوتاه می باشد!'));
die($output);
}
if(!filter_var($user_email, FILTER_VALIDATE_EMAIL)){ //email validation
$output = json_encode(array('type'=>'error', 'text' => 'لطفا یک ایمیل معتبر وارد نمایید!'));
die($output);
}
if(!filter_var($country_code, FILTER_VALIDATE_INT)){ //check for valid numbers in country code field
$output = json_encode(array('type'=>'error', 'text' => ' کد کشور فقط شامل اعداد می باشد!'));
die($output);
}
if(!filter_var($phone_number, FILTER_SANITIZE_NUMBER_FLOAT)){ //check for valid numbers in phone number field
$output = json_encode(array('type'=>'error', 'text' => 'شماره تلفن فقط شامل اعداد می باشد'));
die($output);
}
if(strlen($subject)<3){ //check emtpy subject
$output = json_encode(array('type'=>'error', 'text' => 'وارد کردن موضوع پیام الزامی است'));
die($output);
}
if(strlen($message)<3){ //check emtpy message
$output = json_encode(array('type'=>'error', 'text' => 'متن پیام خیلی کوتاه است'));
die($output);
}
$message_body = '
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>سیبسیبسیبسیبسیبسیب</title>
</head>
<body>
<table width="100%" border="0">
<tr>
<td colspan="2">سیبسیبسیبسیبسیبسسیب </td>
</tr>
<tr>
<td colspan="2"><div align="center">سیبسیبسیب</div></td>
</tr>
<tr>
<td colspan="2"><div align="center">تنسیبسیبسیبسیبها</div></td>
</tr>
<tr>
<td colspan="2"><div align="center">PHP پی اچ پی</div></td>
</tr>
</table>
</body>
</html>
';
//proceed with PHP email.
$headers = 'From: '.$user_name.'' . "\r\n" .
'Reply-To: '.$user_email.'' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$send_mail = mail($to_email, $subject, $message_body, $headers);
if(!$send_mail)
{
//If mail couldn't be sent output error. Check your PHP email configuration (if it ever happens)
$output = json_encode(array('type'=>'error', 'text' => 'خطایی رخ داده است. دوباره امتحان کنید.'));
die($output);
}else{
$output = json_encode(array('type'=>'message', 'text' => ' '.$user_name .' عزیز ، پیام شما ارسال شد. بزودی پاسخ خواهیم داد.'));
die($output);
}
}
?>