توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : اختلال در ارسال ایمیل در ASP.Net با #C
ngeeks
02-07-2012, 01:19 AM
با سلام خدمت دوستان
من میخوام در سایتم که با ASP.Net نوشتمش کاربر یک سری اطلاعات رو در یک TextBox بنویسه و ایمیل خودش رو هم تو یک TextBox دیگه و از email آدرس اون شخص برای ایمیل یاهوی من اون اطلاعات ارسال شه.
آموزش هایی که گذاشته بودید رو دیدم و استفاده کردم ولی با ارور زیر مواجه میشم:
Server Error in '/' Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
ngeeks
02-07-2012, 01:52 AM
شاید ایراد از web.config باشه.
چون دقیقاً نمیدونم باید به جای USERNAME , PASSWORD , HOST, FROM چی بنویسم.
دامنه من: [Only registered and activated users can see links]
میل سرور من: [Only registered and activated users can see links]
یوزرنیم باید یوزر login هاست رو بزنم یا میل سرور؟
password باید پس هاست رو بزنم یا میل سرور؟
<system.net>
<mailSettings>
<smtp from="dont know">
<dont know" port="25" userName="dont know" password="dont know" defaultCredentials="true" />
</smtp>
</mailSettings>
Ali_Eagle
02-07-2012, 11:11 AM
سلام شما از کلاس استفاده کنید بهتر است به شکل زیر :
public bool SendMail(string Sender, string Reciver, string Subject, string Body)
{
try
{
MailMessage _mail = new MailMessage();
SmtpClient _smtp = new SmtpClient();
_smtp.Credentials = new System.Net.NetworkCredential("[Only registered and activated users can see links]", "mail password");
_mail.From = new MailAddress(Sender);
_mail.To.Add(new MailAddress(Reciver));
_mail.Headers.Add("To", Reciver);
//_mail.ReplyTo = new MailAddress(Sender);
_mail.Headers.Add("From", Sender);
_mail.Headers.Add("MIME-Version", "1.0");
_mail.Headers.Add("Content-type", "text/html; charset=UTF-8");
_mail.BodyEncoding = System.Text.Encoding.UTF8;
_mail.Body = Body;
_mail.IsBodyHtml = true;
_mail.Subject = Subject;
_smtp.Host = "mail.yourdomain.com";
_smtp.Send(_mail);
return true;
}
catch (Exception ex)
{
string s = ex.Message;
return false;
}
}
smtp رو باید از مدیر سرور بپرسید که به همون شکلی که نوشتم معمولش هست . به جای mail password باید رمز عبور اون میلی رو بزارید که روی پنل ساختید و به عنوان sender می تونید ازش استفاده کنید .
ngeeks
02-07-2012, 03:55 PM
smtp رو باید از مدیر سرور بپرسید که به همون شکلی که نوشتم معمولش هست . به جای mail password باید رمز عبور اون میلی رو بزارید که روی پنل ساختید و به عنوان sender می تونید ازش استفاده کنید .
<smtp from="[Only registered and activated users can see links]">
<network host="dont know" port="25" username="dont know" password="dont know" defaultcredentials="true" />
</smtp>
دوست عزیز از راهنماییت ممنونم امکانش هست بفرماید جلوی هر یک از این چیزایی که خواسته باید چه چیزیو بنویسم؟ منظورتونو متوجه نشدم.
نفهمیدم یوزر پسوورد هاست رو میخواد یا ایمیل سرور
from:
Host:
Username:
Password:
Ali_Eagle
02-07-2012, 05:49 PM
دوست عزیز از راهنماییت ممنونم امکانش هست بفرماید جلوی هر یک از این چیزایی که خواسته باید چه چیزیو بنویسم؟ منظورتونو متوجه نشدم.
نفهمیدم یوزر پسوورد هاست رو میخواد یا ایمیل سرور
from:
Host:
Username:
Password:
منظور اطلاعات میل سرور هست که host می شه smtp.site.com و نام کاربری هم می شه آدرس اون پست الکترونیکی که می خواهید ازش اقدام به ارسال کنید که باید روی کنترل پنل سایتتون ساخته باشید و رمز عبور هم پسورد همان پست الکترونیکی است که به عنوان نام کاربری وارد می کنید . توی ارسال ایمیل کاری به رمز عبور هاسستون نداره .
موفق باشید
ngeeks
02-07-2012, 10:32 PM
منظور اطلاعات میل سرور هست که host می شه smtp.site.com و نام کاربری هم می شه آدرس اون پست الکترونیکی که می خواهید ازش اقدام به ارسال کنید که باید روی کنترل پنل سایتتون ساخته باشید و رمز عبور هم پسورد همان پست الکترونیکی است که به عنوان نام کاربری وارد می کنید . توی ارسال ایمیل کاری به رمز عبور هاسستون نداره .
موفق باشید
سپاس گذارم
ngeeks
02-08-2012, 12:31 AM
اونارم درست SET کردم نشد , میشه بگید ایراد برنامه زیر کجاشه؟
قراره محطویات textbox1 و textbox2 برای [Only registered and activated users can see links] و textbox3 ارسال بشه:
داخل textbox3 یک ایمیل مینویسند
mailserver: [Only registered and activated users can see links]
MailMessage message = new MailMessage();
message.From = new MailAddress("[Only registered and activated users can see links]");
message.To.Add(new MailAddress("[Only registered and activated users can see links]"));
message.CC.Add(new MailAddress(TextBox3.Text));
message.Subject = "Account Activation:" + TextBox3.Text;
message.Body = TextBox1.Text + " " + TextBox2.Text + " E-mail: " + TextBox3.Text
SmtpClient client = new SmtpClient();
client.Send(message);
Ali_Eagle
02-08-2012, 01:22 AM
اونارم درست SET کردم نشد , میشه بگید ایراد برنامه زیر کجاشه؟
قراره محطویات textbox1 و textbox2 برای [Only registered and activated users can see links] و textbox3 ارسال بشه:
داخل textbox3 یک ایمیل مینویسند
mailserver: [Only registered and activated users can see links]
MailMessage message = new MailMessage();
message.From = new MailAddress("[Only registered and activated users can see links]");
message.To.Add(new MailAddress("[Only registered and activated users can see links]"));
message.CC.Add(new MailAddress(TextBox3.Text));
message.Subject = "Account Activation:" + TextBox3.Text;
message.Body = TextBox1.Text + " " + TextBox2.Text + " E-mail: " + TextBox3.Text
SmtpClient client = new SmtpClient();
client.Send(message);
برنامتون NetworkCredential نداره و همچنین بهش smtp host ندادید . اگر از کلاسی که بالا براتون گذاشتم استفاده کنید مشکلتون حل می شه . در صورتی هم که نیازه در رابطه با کلاس توضیحی داده بشه بفرمایید .
ngeeks
02-08-2012, 05:25 PM
برنامتون NetworkCredential نداره و همچنین بهش smtp host ندادید . اگر از کلاسی که بالا براتون گذاشتم استفاده کنید مشکلتون حل می شه . در صورتی هم که نیازه در رابطه با کلاس توضیحی داده بشه بفرمایید .
اگر این زحمت رو بکشید ممنون میشم , زیاد با class ها کار نکردم , مال زمان دانشگاه بوده فقط.
این سورس رو که نوشتید با اطلاعات هاست خودم fill میکنم و کپی میکنم. توی BTNsend_Click چجوری باید این Class رو Call کرد؟
Ali_Eagle
02-08-2012, 06:44 PM
اگر این زحمت رو بکشید ممنون میشم , زیاد با class ها کار نکردم , مال زمان دانشگاه بوده فقط.
این سورس رو که نوشتید با اطلاعات هاست خودم fill میکنم و کپی میکنم. توی BTNsend_Click چجوری باید این Class رو Call کرد؟
شما یک کلاس جدید در پروژتون به نام Class1 ایجاد کنید و کلاس بالا رو داخلش کپی کنید . به جای خط های زیر اطلاعاتی که گفته می شه رو وارد کنید :
در این خط :
_smtp.Credentials = new System.Net.NetworkCredential("[Only registered and activated users can see links]", "mail password");
به جای [Only registered and activated users can see links] شما ایمیلی که می خواهید از سمت اون اقدام به ارسال کنید رو وارد کنید به طور مثال [Only registered and activated users can see links] و به جای mail password هم رمز عبور این ایمیلتون رو حالا هرچی هست وارد می کنید .
در این خط :
_smtp.Host = "mail.yourdomain.com";
به جای mail.yourdomain.com هم باید میل سرور خودتون رو که معمولا به این شکل باید باشه بنویسید mail.ngeeks.eu و یا اگر چیزی خارج از این باشه باید از مدیر سرور بپرسید که کمتر پیش می آد .
در نهاید شما داخل حالا هر button ای که می خواهید از کلاس بالا استفاده کنید باید به شکل زیر عمل کنید که از کلاس یک نمونه سازی می کنید و سپس مقادیر رو به ترتیب به متد می دهید . من در مثال زیر فرض می کنم همه اطلاعات داره از text box خونده می شه :
Class1 objMail = new Class1();
objMail.SendMail(txtSender.Text, txtReciver.Text, txtSubjectMail.Text, txtMailBody.Text);
یک فیک میل هم شد :)
در هر صورت فکر می کنم اطلاعات پله به پله و کامل بوده باشه .
موفق باشید
ngeeks
02-09-2012, 05:21 PM
شما یک کلاس جدید در پروژتون به نام class1 ایجاد کنید و کلاس بالا رو داخلش کپی کنید . به جای خط های زیر اطلاعاتی که گفته می شه رو وارد کنید :
در این خط :
_smtp.credentials = new system.net.networkcredential("[Only registered and activated users can see links]", "mail password");
به جای [Only registered and activated users can see links] شما ایمیلی که می خواهید از سمت اون اقدام به ارسال کنید رو وارد کنید به طور مثال [Only registered and activated users can see links] و به جای mail password هم رمز عبور این ایمیلتون رو حالا هرچی هست وارد می کنید .
در این خط :
_smtp.host = "mail.yourdomain.com";
به جای mail.yourdomain.com هم باید میل سرور خودتون رو که معمولا به این شکل باید باشه بنویسید mail.ngeeks.eu و یا اگر چیزی خارج از این باشه باید از مدیر سرور بپرسید که کمتر پیش می آد .
در نهاید شما داخل حالا هر button ای که می خواهید از کلاس بالا استفاده کنید باید به شکل زیر عمل کنید که از کلاس یک نمونه سازی می کنید و سپس مقادیر رو به ترتیب به متد می دهید . من در مثال زیر فرض می کنم همه اطلاعات داره از text box خونده می شه :
class1 objmail = new class1();
objmail.sendmail(txtsender.text, txtreciver.text, txtsubjectmail.text, txtmailbody.text);
یک فیک میل هم شد :)
در هر صورت فکر می کنم اطلاعات پله به پله و کامل بوده باشه .
موفق باشید
خیلی بدردم خورد , سپاس گذارم زیاااااد d:
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.