PDA

View Full Version : ارسال خبرنامه با استفاده از اديتور FreeTextBox



bftarane
دوشنبه 06 آذر 1391, 11:41 صبح
سلام. من به عنوان تست يه متن و عکس رو به عنوان خبرنامه ارسال کردم
95602
ولي وقتي ايميلم رو چک کردم به شکل زير ديدم
اين يک تست است
macro.jpg
که macro اسم عکس هست.
من چطوري مي تونم عکس رو به ايميل بفرستم که قابل مشاهده باشه؟
ممنون.

dabirsiaghi
دوشنبه 06 آذر 1391, 15:39 عصر
سلام. من به عنوان تست يه متن و عکس رو به عنوان خبرنامه ارسال کردم
95602
ولي وقتي ايميلم رو چک کردم به شکل زير ديدم
اين يک تست است
macro.jpg
که macro اسم عکس هست.
من چطوري مي تونم عکس رو به ايميل بفرستم که قابل مشاهده باشه؟
ممنون.
من با Tinymce به این مشکل قبلا برخوردم .موقعی که عکس رو داخل ادیتور قرار میدادم مثلا آدرس http://barnamenevis.org/attachment.php?attachmentid=95602&d=1353915610 را به attachment.php?attachmentid=95602&d=1353915610 تبدیل میکرد و به این خاطر در ایمیلم عکس رو نمی آورد .آدرس را چک نمائید

bftarane
دوشنبه 06 آذر 1391, 16:29 عصر
سلام. متوجه منظورتون نشدم.
ببينيد من الآن يه متن و يه عکس گذاشتم در اديتور
حالا در قسمت html يه همچين چيزي نوشته

<div align="right">با عرض سلام اين يک تست است<br><img src="http://abc.com/images/butterfly-314-8.jpg" alt="butterfly-314-8.jpg" border="0" height="75" width="100"><br></div>
متوجه نشدم چه جوري بايد چک کنم.
ميشه بيشتر توضيح بديد؟
اگه فکر مي کنين لازمه کدهاي ارسال خبرنامه رو بزارم.

dabirsiaghi
دوشنبه 06 آذر 1391, 18:19 عصر
بنده تونستم بفرستم عکس داخل آدرس را فرستادم
http://l1.yimg.com/dh/ap/default/121118/veg.jpg

95632

کد بنده :

<FTB:FreeTextBox ID="FreeTextBox1" runat="server" TextDirection="RightToLeft"
ToolbarLayout="ParagraphMenu,FontFacesMenu,FontSizesMenu,FontFore ColorsMenu|Bold,Italic,Underline,InsertImageFromGa llery,Strikethrough;Superscript,Subscript,RemoveFo rmat|JustifyLeft,JustifyRight,JustifyCenter,Justif yFull;BulletedList,NumberedList,Indent,Outdent;Cre ateLink,Unlink,InsertImage,InsertRule|Cut,Copy,Pas te;Undo,Redo,Print"
ToolbarStyleConfiguration="OfficeMac"
ImageGalleryUrl="imagegallery.aspx?rif={0}&amp;cif={0}">
</FTB:FreeTextBox>
<br />

<asp:Button Text="Send Email" runat="server" ID="btnSendEmail"
onclick="btnSendEmail_Click" />
<br />
<asp:Label Text="" runat="server" ID="lblResult" />



protected void btnSendEmail_Click(object sender1, EventArgs e)
{
MailAddress recipientEmail = new MailAddress("m_dabirsiaghi@yahoo.com", "Seyyed Mohammad Dabirsiaghi");
MailAddress senderEmail = new MailAddress("package82@gmail.com", "Package82");
MailAddress bccAddress = new MailAddress("bccaddress@yahoo.com", "BccAddress Display Name");
bool result;
result = SendEmailHandler(recipientEmail, senderEmail, bccAddress, "Test Email Subject", "[Barname Nevis]-", Server.HtmlDecode(FreeTextBox1.Text), null, MailPriority.High, true, Encoding.UTF8, DeliveryNotificationOptions.None, 1, 10000);
if (result)
lblResult.Text = "Succuss Email Send";
else
lblResult.Text = "UnSuccuss Email Send";
}



public bool SendEmailHandler(MailAddress recipient, MailAddress sender, MailAddress bccAddress,
string subject, string prefix, string body, List<string> attachments,
MailPriority priority, bool htmlFormat, Encoding encoding, DeliveryNotificationOptions deliveryNotification,
int enableSsl, int timeOut)
{
SmtpClient oSmtpClient = null;
MailMessage oMailMessage = null;
bool finalResult = false;
try
{
oMailMessage = new MailMessage();
oMailMessage.From = sender;
oMailMessage.Sender = sender;
oMailMessage.ReplyToList.Add(sender);

oMailMessage.To.Clear();
oMailMessage.CC.Clear();
oMailMessage.Bcc.Clear();
oMailMessage.Attachments.Clear();

oMailMessage.To.Add(recipient);

if (bccAddress != null)
oMailMessage.Bcc.Add(bccAddress);

oMailMessage.Body = body;

if (string.IsNullOrEmpty(prefix))
{
oMailMessage.Subject = subject;
}
else
{
oMailMessage.Subject = prefix + " " + subject;
}

oMailMessage.IsBodyHtml = htmlFormat;
oMailMessage.Priority = priority;

oMailMessage.BodyEncoding = encoding;
oMailMessage.SubjectEncoding = encoding;

oMailMessage.DeliveryNotificationOptions = deliveryNotification;

if (attachments != null)
{
foreach (string PathName in attachments)
{
if (File.Exists(PathName))
{
Attachment oAttachment = new Attachment(PathName);

oMailMessage.Attachments.Add(oAttachment);
}
}
}


oSmtpClient = new SmtpClient();

if (enableSsl != -1)
{
if (enableSsl == 0)
oSmtpClient.EnableSsl = false;
else
if (enableSsl == 1)
oSmtpClient.EnableSsl = true;
}


if (timeOut != -1)
oSmtpClient.Timeout = timeOut;


oSmtpClient.Send(oMailMessage);

finalResult = true;
}
catch (SmtpException smtpException)
{
//SmtpErrorHandler()
}
catch (Exception exception)
{
//ErrorHandler()
}
finally
{
if (oMailMessage != null)
{
oMailMessage.Dispose();
oMailMessage = null;
}

if (oSmtpClient != null)
{
oSmtpClient = null;
}
}
return finalResult;
}




البته در web.config هم :

<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime requestValidationMode="2.0" />
</system.web>
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="package82@gmail.com">
<network defaultCredentials="false" host="smtp.gmail.com" password="4847434df524" port="587" userName="package82@gmail.com"/>
</smtp>
</mailSettings>
</system.net>

dabirsiaghi
دوشنبه 06 آذر 1391, 18:21 عصر
سلام. متوجه منظورتون نشدم.
ببينيد من الآن يه متن و يه عکس گذاشتم در اديتور
حالا در قسمت html يه همچين چيزي نوشته

<div align="right">با عرض سلام اين يک تست است<br><img src="http://abc.com/images/butterfly-314-8.jpg" alt="butterfly-314-8.jpg" border="0" height="75" width="100"><br></div>متوجه نشدم چه جوري بايد چک کنم.
ميشه بيشتر توضيح بديد؟
اگه فکر مي کنين لازمه کدهاي ارسال خبرنامه رو بزارم.
ادیتور جالب و جمع و جوریه
بخش imagegallery هم داره
من تا حالا کار نکرده بودم
عکستون فیلتر نیست ؟
از Server.HtmlDecode(FreeTextBox1.Text) برای دیکود کردن مقدار تکس ادیتور استفاده کردین؟
اگه کدتون سکرت نیست بزارید ببینیم کجاش مشکل داره

bftarane
دوشنبه 06 آذر 1391, 19:06 عصر
لطفاً On باشيد تا 5، 6 دقيقه ديگه يه پست مي زارم.

bftarane
دوشنبه 06 آذر 1391, 19:15 عصر
ببينيد من همين امروز کار با اين اديتور رو از لينک زير ياد گرفتم و هنوز باهاش مشکلاتي دارم
http://barnamenevis.org/showthread.php?357526


خوب حالا کدها

<FTB:FreeTextBox ID="FreeTextBox1" runat="server"
ToolbarLayout="ParagraphMenu,FontFacesMenu,FontSizesMenu,FontFore ColorsMenu|Bold,Italic,Underline,Strikethrough;Sup erscript,Subscript,RemoveFormat|JustifyLeft,Justif yRight,JustifyCenter,JustifyFull;BulletedList,Numb eredList,Indent,Outdent;CreateLink,Unlink,InsertIm age,InsertRule|Cut,Copy,Paste;Undo,Redo,Print,Inse rtImageFromGallery,">
</FTB:FreeTextBox>
private void newsletter()
{
SmtpClient MyMail = new SmtpClient();
MyMail.Host = "highmail.abc.com";
MailMessage MyMsg = new MailMessage();

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConStr"].ConnectionString);
SqlCommand cmd = new SqlCommand("select * from tbl_members where NewsLetter='true'", con);
SqlDataReader dr = default(SqlDataReader);
con.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{
MyMsg.To.Add(dr["Email"].ToString());
}
MyMsg.Subject = txt_title.Text;
MyMsg.SubjectEncoding = Encoding.UTF8;

MyMsg.IsBodyHtml = true;
MyMsg.From = new MailAddress("info@abc.com", "info@abc.com");
MyMsg.BodyEncoding = Encoding.UTF8;
MyMsg.Body = FreeTextBox1.Text;

MyMail.UseDefaultCredentials = false;
NetworkCredential MyCredentials = new NetworkCredential("info@abc.com", "ramz");
MyMail.Credentials = MyCredentials;

MyMail.Send(MyMsg);

dr.Close();
con.Close();

}

protected void btn_sendnewsletter_Click(object sender, EventArgs e)
{
newsletter();

}


از Server.HtmlDecode(FreeTextBox1.Text) برای دیکود کردن مقدار تکس ادیتور استفاده کردین؟نه استفاده نکردم.

من فکر کنم شما از روي سرور آدرس عکس رو مي ديد من کاري که کردم اينه که با يه متن نوشتم و بعد با imagegallery يه عکس درج کردم در اديتور و محتواي اديتور رو ريختم تو body.
فکر کنم کارم اشتباه بوده يعني بايد تنظيمات خاصي انجام مي دادم درسته؟ مي شه يه لينک آموزشي معرفي کنيد؟

من ايميلم فرستاده ميشه ولي عکس ديده نمي شه به جاش اسم عکس رو با پسوندش مي نويسه.

dabirsiaghi
دوشنبه 06 آذر 1391, 19:29 عصر
ببينيد من همين امروز کار با اين اديتور رو از لينک زير ياد گرفتم و هنوز باهاش مشکلاتي دارم
http://barnamenevis.org/showthread.php?357526


خوب حالا کدها

<FTB:FreeTextBox ID="FreeTextBox1" runat="server"
ToolbarLayout="ParagraphMenu,FontFacesMenu,FontSizesMenu,FontFore ColorsMenu|Bold,Italic,Underline,Strikethrough;Sup erscript,Subscript,RemoveFormat|JustifyLeft,Justif yRight,JustifyCenter,JustifyFull;BulletedList,Numb eredList,Indent,Outdent;CreateLink,Unlink,InsertIm age,InsertRule|Cut,Copy,Paste;Undo,Redo,Print,Inse rtImageFromGallery,">
</FTB:FreeTextBox>
private void newsletter()
{
SmtpClient MyMail = new SmtpClient();
MyMail.Host = "highmail.abc.com";
MailMessage MyMsg = new MailMessage();

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConStr"].ConnectionString);
SqlCommand cmd = new SqlCommand("select * from tbl_members where NewsLetter='true'", con);
SqlDataReader dr = default(SqlDataReader);
con.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{
MyMsg.To.Add(dr["Email"].ToString());
}
MyMsg.Subject = txt_title.Text;
MyMsg.SubjectEncoding = Encoding.UTF8;

MyMsg.IsBodyHtml = true;
MyMsg.From = new MailAddress("info@abc.com", "info@abc.com");
MyMsg.BodyEncoding = Encoding.UTF8;
MyMsg.Body = FreeTextBox1.Text;

MyMail.UseDefaultCredentials = false;
NetworkCredential MyCredentials = new NetworkCredential("info@abc.com", "ramz");
MyMail.Credentials = MyCredentials;

MyMail.Send(MyMsg);

dr.Close();
con.Close();

}

protected void btn_sendnewsletter_Click(object sender, EventArgs e)
{
newsletter();

}

نه استفاده نکردم.

من فکر کنم شما از روي سرور آدرس عکس رو مي ديد من کاري که کردم اينه که با يه متن نوشتم و بعد با imagegallery يه عکس درج کردم در اديتور و محتواي اديتور رو ريختم تو body.
فکر کنم کارم اشتباه بوده يعني بايد تنظيمات خاصي انجام مي دادم درسته؟ مي شه يه لينک آموزشي معرفي کنيد؟

من ايميلم فرستاده ميشه ولي عکس ديده نمي شه به جاش اسم عکس رو با پسوندش مي نويسه.
متن داخل textbox یه متن سادست که باید دیکود بشه بصورت Html که زبان صفحات وب است :
Decodes an HTML-encoded string and returns the decoded string.
اینکار رو انجام دادید درست نشد؟

bftarane
دوشنبه 06 آذر 1391, 19:34 عصر
نه ديکد نکردم برم امتحان کنم ببينم چي ميشه. اون کل کدهايي بود که من استفاده کرده بودم.
الآن يه سرچي زدم برم بخونم ببينم چي ميشه. اگه بازم مشکل داشتم ميام مي پرسم.

bftarane
دوشنبه 06 آذر 1391, 23:01 عصر
جالبه اومدم عکس رو از طريق url نه Imagegallery وارد اديتور کردم يعني اين آدرس رو http://barnamenevis.org/attachment.php?attachmentid=95602&d=1353915610 متن و عکس در ايميل مشاهده ميشد.
راستي اون server.htmlencode رو هم استفاده کردم ولي فرقي نکرد.

لطفاً اگه کسي تجربه اين کار رو داره در ميون بزاره. (يعني از طريق Image gallery عکس در اديتور Insert شده باشه) و به ميل فرستاده بشه. آخه فکر کنم واسه ادمين سايت سخت باشه بخواد از طريق url عکس رو وارد کنه.

hamed_hossani
دوشنبه 06 آذر 1391, 23:43 عصر
شما در هر دو صورت(url,browse) کد html که freeTextBox ایجاد می کند رو بررسی کنید.

bftarane
سه شنبه 07 آذر 1391, 01:39 صبح
اين در حالت url

<img src="http://barnamenevis.org/attachment.php?attachmentid=95602&amp;d=1353915610">
اين در حالت Browse

ddd<br><img src="http://localhost:2952/st/images/bamboo.jpg" alt="bamboo.jpg" height="200" border="0" width="200"><br>
خودم الآن به فکرم رسيد شايد چون من دارم از روي لوکال هاست امتحان مي کنم اين جوريه.
ولي الآن اونقد خسته ام نمي تونم امتحان کنم رو هاست. فردا ببينم چي ميشه.
راستي شماها امتحان کردين اين مورد رو؟ يعني براي شما درست عمل مي کرده؟ آخه خيلي سرچ زد تو سايتاي خارجي هم انگار اين مشکل زياد مطرح شده بود.

اين اديتور سايت برنامه نويس چيه؟ پولي بوده حتماً آره؟
من ckeditor امتحان کردم بهم گفته شد بايد قابليت Browse و بردر دادن به عکس و نمي دونم تعيين موقعيت عکس در متن وجود داشته باشه. اومدم Tinymce رو امتحان کردم ديدم انگار تو نسخه رايگان امکان Browse رو نداره. بعدم که اومدم سراغ اين FTB با اينم به يه مشکلاتي خوردم مثلاً عکس رو تنها نمي شه درج کرد اول ميام يه چيزي مي نويسم بعد عکس رو درج مي کنم حالا ديگه اينکه لينک از طريق اون آيکون مربوطه وقتي لينک رو وارد مي کنم درج نميشه کلي هم سرچ زدم به نتيجه اي نرسيدم.
حالا اين لينک رو اگه کسي امتحان کرده جواب داده راهنمايي کنه لطفاً.

نسخه پولي اديتورها رو از کجا ميشه خريد؟ قيمتشون چه حدوداييه؟

dabirsiaghi
سه شنبه 07 آذر 1391, 07:52 صبح
این گالری عکسش مورد داره من با firefox 16 عکس وارد کردم هیچی تو html خروجیش نمیاره
ولی با IE9 عکس از گالری آوردم html اش درست شد
browseretun رو عوض کنید ببینید درست میشه یا نه

dabirsiaghi
سه شنبه 07 آذر 1391, 08:05 صبح
95662
95661

95660
بنده از tinymce استفاده کردم و اونو فارسی کردم . یک فایل منیجر یا گالری عکس نوشتم و در tinymce میتونی آدرس فایل منیجر با گالری عکس را بدی .از این به بعد در کنار هر لینک یک علامت قرار میده که با زدن اون فایل منیجر باز می شه و میتونه با کد نویسی عکس یا لینک رو از فایل منیجر یا گالری عکس بگیره
بزودی یه تاپیک میزنم و کار با ادیتورهای مختلف-فارسی کردن و سایر مسائل رو توضیح میدم
در کل استفاده از فایل منیجر با گالری عکس این ادیتورها چندان جالب نیست بهتره خودتون یکی بنویسید و اونو به ادیتور لینک کنید .چون وقتی مشتری یک خواسته ای رو بگه اضافه کن باید بشینی تمامی کد ها را بخونی و آخرش هم میگی خودم مینویسم
البته نگاه کردم برای این ادیتور هم میتونی آدرس گالری عکس رو خودت بدی ImageGalleryUrl

bftarane
پنج شنبه 09 آذر 1391, 14:31 عصر
سلام بچه ها.
من فعلاً تصميم گرفتم از خير FTB بگذرم و برم سراغ Tinymce
يه آموزش خوب پيدا کردم براي قرار دادن عکس در Tinymce
توسط کنترل Fileupload
اينم لينکش
http://www.aspsnippets.com/Articles/Adding-Images-to-TinyMCE-Rich-Text-Editor-using-ASP.Net-FileUpload-Control.aspx

همون مشکل ديده نشدن عکس در ايميل رو با اين اديتور هم داشتم
که با کمک پست 5 لينک زير حل شد
http://www.tinymce.com/forum/viewtopic.php?id=7930
يعني اين کدها رو اضافه کردم
document_base_url: "http://localhost:2952/st/",
relative_urls: false,
remove_script_host: false,
در اين قسمت <script type="text/javascript">
tinyMCE.init({
// General options
mode: "textareas",
theme: "advanced",

البته من رو لوکال تست کردم ولي به اميد خدا در هاست هم جواب ميده

حالا يه مشکلي که مونده اينه که Insert Link غيرفعاله
برم ببينم مي تونم کاري کنم براش يا نه اگرم کسي بلده لطفاً بياد بگه.

bftarane
پنج شنبه 09 آذر 1391, 15:03 عصر
اون مشکل Insert Link هم ميشه گفت حل شد يه سرچي زدم بعد امتحان کردم ديدم وقتي يه متن رو انتخاب مي کنم آيکن Insert/Edit Link فعال ميشه و ميشه لينک رو درج کرد. اون موقع اون متن تبديل به لينک ميشه.
البته اگه ميشد هم به اين شکل و هم بدون سلکت متن لينک درج بشه خيلي بهتر مي شد اگه کسي اون مدلي هم بلده لطفاً در ميون بزاره.

bftarane
سه شنبه 28 آذر 1391, 15:29 عصر
سلام.
در مورد حل مشکل ديده نشدن عکس در ايميل وقتي محتواي FreeTextBox فرستاده ميشه
اين کد مشکل من رو حل کرد

FreeTextBox1.RemoveServerNameFromUrls = false;
که در رويداد لود صفحه اون رو نوشتم.
براي اطلاعات بيشتر مي تونيد به لينک زير مراجعه کنيد
http://www.aspforums.net/Threads/133906/Domain-Names-get-removed-from-FreeTextBox-Image-Urls-on-Submit/

عدم که اومدم سراغ اين FTB با اينم به يه مشکلاتي خوردم مثلاً عکس رو تنها نمي شه درج کرد اول ميام يه چيزي مي نويسم بعد عکس رو درج مي کنم
اين مشکل هم با کد زير رفع شد (در رويداد لود صفحه)

FreeTextBox1.Text = "&nbsp;" + FreeTextBox1.Text;

بعد از کلي کلنجار رفتن به اين نتيجه رسيدم اين بهترين اديتوري هست که مي تونم در ASP.net استفاده کنم اميدوارم مشکل ديگه اي پيش نياد.