جعبه نوشتن پیام

amirreza22

Member
سلام.

من یک اسکریپت واسه ارسال ایمیل استفاده میکنم .

چندتا سوال داشتم:

اول اینکه این اسکریپت واسه من مشکل به وجود نمیاره؟؟ از لحاظ امنیتی و شرکتی میگم.

دوم اینکه وقتی توی قسمت نوشتن پیام textarea کاربر متن رو می نویسه و اگه enter بزنه بره خط بعد یا از space استفاده کنه در متن ایمیل این فاصله ها و خط ها وجود نداره و کل متن پشت سر هم نشون داده میشه.

فرضا : کاربر می نویسه »

سلام. خوبی؟

خداحافظ




ولی ایمیل به این صورت نمایش داده میشه:

سلام.خوبی خداحافظ





من به سختی یه کد گذاشتم تا کاربر هر وقت enter زد کد <br> اضافه بشه ولی این راه درستی نیست.


از چه textbox استفاده کنم تا این مشکل حل بشه.



اسکریپت رو هم می تونید اینجا ببینید: http://fastmail.amirreza.net

اگه یه چیز توو مایه های پست ادیتور بلاگفا میشد استفاده کنم خیلی خوب بود. (البته اسکریپت های زیادی دیدم ولی همشون یک عالمه امکانات داشته و به درد من نمیخورد)
 

sharktech

کاربر فعال
من خودم توی یکی از سایتها از textarea استفاده کردم و پیامی هم که کاربر میفرسته, به همون صورتی هست که نوشته شده و enter و یا space حذف نمیشه.

شاید اشکال از کد و نحوه ارسال ایمیل باشه.

شما میتونین از tinymce یا Rich Text Editor یا WYSIWYG editor یا هر ادیتور دیگه ای هم استفاده کنین.

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

amirreza22

Member
این سورس php همون فایل اصلی هست که ایمیل مطابق این ارسال میشه .

شما مشکلی می بینید؟


PHP:
// Headers
        $headers = "From: $namefrom <$emailfrom>";
        
        // create a boundary string. It must be unique
          $semi_rand = md5(time());
          $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

          // Add the headers for a file attachment
          $headers .= "\nMIME-Version: 1.0\n" .
                      "Content-Type: multipart/mixed;\n" .
                      " boundary=\"{$mime_boundary}\"";

          // Add a multipart boundary above the plain message
          $message.="This is a multi-part message in MIME format.\n\n";
          $message.="--{$mime_boundary}\n";
          $message.="Content-Type: text/html; charset=UTF-8\n";
          $message.="Content-Transfer-Encoding: 8bit\n\n";

                  $message.= "<html>\n";
                  $message.= "<body style=\"float:right; font-family:Tahoma; font-size:9pt; text-align:right; direction:rtl; color:#000000;\">\n"; 
                  $message.= "<div style=\"float:right; font-family:Tahoma; text-align:right; direction:rtl; font-size:11pt; color:RED;\">از طرف: ".$namefrom."</div><br><br>\n"; 
                  $message.= "<div style=\"float:right; padding-bottom:20px; font-family:Tahoma; text-align:right; direction:rtl; font-size:9pt; color:Black;\">".$comments."</div><br><br><br>\n"; 
                  $message.= "<center><div style=\"font-family:Tahoma; padding-right:40%; text-align:right; direction:rtl; float:center; font-size:17pt; color:#008000 ;\">".$ads."</div></center><br>\n";
                  $message.= "</body>\n";
                  $message.= "</html>\n";
        
        if (is_uploaded_file($fileatt)) {
          // Read the file to be attached ('rb' = read binary)
          $file = fopen($fileatt,'rb');
          $data = fread($file,filesize($fileatt));
          fclose($file);

          // Base64 encode the file data
          $data = chunk_split(base64_encode($data));

          // Add file attachment to the message
                  $message.= "<br><br><center><div style=\"float:center; padding-right:1%; font-weight:bold; font-family:Tahoma; text-align:right; direction:rtl; font-size:10pt; color:Black;\">این ایمیل حاوی فایل ضمیمه می باشد.شما می توانید آن را مشاهده و یا دانلود نمایید.</div></center><br>\n"; 
          $message .= "--{$mime_boundary}\n" .
                      "Content-Type: {$fileatt_type};\n" .
                      " name=\"{$fileatt_name}\"\n" .
                      //"Content-Disposition: attachment;\n" .
                      //" filename=\"{$fileatt_name}\"\n" .
                      "Content-Transfer-Encoding: base64\n\n" .
                      $data . "\n\n" .
                      "--{$mime_boundary}--\n";
        }
        
        
        // Send the completed message
 

sharktech

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

و لازم نیست که شما از کدهای پیچیده استفاده کنید, البته فکر کنم کد شما برای ارسال میل html هست.

PHP:
<?php

$email = "[email protected]";
$subject = "your subject";
$message = "your message";

if (mail( "[email protected]", "Subject: $subject",$message, "From: $email" )) {
  echo 'پیام با موفقیت ارسال شد';
} else {
  echo 'خطایی در ارسال پیام رخ داده است';
}

?>
 

amirreza22

Member
بله فهمیدم مشکل کجاست ، چون متن در تگ html قرار میگیره این مشکل به وجود میاد.

حالا باید چی کار کنم؟ به جای textarea از چی استفاده کنم؟
 

sharktech

کاربر فعال
اولا واقعا لازمه که از اون کد بالایی که خودتون گذاشتین استفاده کنین ؟

گفتم که میتونین از یک text editor که توی پست اولم گفتم استفاده کنین, اگه هر کدوم رو توی گوگل سرچ کنین, به سایت سازندشون میرین و توی سایتشون هم همه چی رو توضیح دادن و چندتا مثال هم هست که نحوه استفاده از هر کدوم رو توضیح میده.

مثلا ادیتور tinymce رو دانلود کنید و اونو توی روت سایتتون اکسترکت کنید و یه صفحه جدید بسازید و توی اون صفحه یک textarea بزارین و این کد رو بالای تگ title قرار بدین :

کد:
<script type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
skin : "o2k7",
languages : "fa",
plugins : "style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras",
theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
content_css : "tiny_mce/editor.css",
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",
template_replace_values : {
username : "Some User",
staffid : "991234"
}
});
</script>
 
آخرین ویرایش:

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

بالا