b.paseban
پنج شنبه 18 خرداد 1391, 19:48 عصر
سلام بر دوستان.
من می خوام کاربر بتونه آدرس صفحه ای که در اون قرار داره رو برای یکی از دوستان خودش ایمیل کنه .
برای این کار از یک صفحه که آی دی منحصر بفرد صفحه مقصد رو میگیره و برای کاربر میاره و کاربر اون آدرس رو ( که بصورت مخفی هست ) رو برای یکی از دوستان خودش ایمیل میکنه.(مثل همین سایت برنامه نویس که بالای هر تاپیکی ارسال این صفحه برای دوست تان رو در ابزار تاپیک قرار داده).
خوب برای این کار ما باید از طریق یکی از آدرس های ایمیل ایجاد شده در سایت (مثلا سایت برنامه نویس پس از فرستادن صفحه مورد نظر برای یک دوست از آدرس info@barnamenevis.org استفاده میکنه) استفاده کرد و یکی دیگر از فیلدهای مورد نیاز ما آدرس ایمیل گیرنده (ایمیل یک دوست) هست .
من از کد زیر برای این کار استفاده می کنم ولی ارور میده که نمیشه برای ایمیلی غیر از ایمیل های ساخته شده در سایت ارسال کرد.(مثلا فقط میشه برای info@barnamenevis.org ارسال کرد ولاغیر در صورتی که آدرس ایمیل کاربر چیزی غیر از این هست (مثلا یک YahooID ویا Gmail و یا ....)
SmtpClient MyMail = new SmtpClient();
MailMessage MyMsg = new MailMessage();
MyMail.Host = "Mail.MyDomain.Com";
MyMsg.From = new MailAddress("Mail@MyDomain.com");
MyMsg.To.Add(new MailAddress("MailAddressFriend@GmailOrYahoo.com"));
MyMsg.Subject = "Subject";
MyMsg.SubjectEncoding = Encoding.UTF8;
MyMsg.IsBodyHtml = true;
MyMsg.BodyEncoding = Encoding.UTF8;
StreamReader sr = new StreamReader(Server.MapPath("Mail.htm"));
string Body = sr.ReadToEnd();
sr.Close();
string Source = "Http://wwww.MyDomain.Com/News.aspx?Id=345";
Body = Body.Replace("#Name#", TxtName.Text);
Body = Body.Replace("#Source#", Source);
MyMsg.Body = Body;
MyMail.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["Mail@MyDomain.com"], ConfigurationManager.AppSettings["*********"]);
MyMail.Send(MyMsg);
که MailAddressFriend@GmailOrYahoo.com توسط یک TextBox پر میشه.
متن ارور به شکل زیره:
Mailbox unavailable. The server response was: <MailAddressFriend@GmailOrYahoo.com> No such user here
من می خوام کاربر بتونه آدرس صفحه ای که در اون قرار داره رو برای یکی از دوستان خودش ایمیل کنه .
برای این کار از یک صفحه که آی دی منحصر بفرد صفحه مقصد رو میگیره و برای کاربر میاره و کاربر اون آدرس رو ( که بصورت مخفی هست ) رو برای یکی از دوستان خودش ایمیل میکنه.(مثل همین سایت برنامه نویس که بالای هر تاپیکی ارسال این صفحه برای دوست تان رو در ابزار تاپیک قرار داده).
خوب برای این کار ما باید از طریق یکی از آدرس های ایمیل ایجاد شده در سایت (مثلا سایت برنامه نویس پس از فرستادن صفحه مورد نظر برای یک دوست از آدرس info@barnamenevis.org استفاده میکنه) استفاده کرد و یکی دیگر از فیلدهای مورد نیاز ما آدرس ایمیل گیرنده (ایمیل یک دوست) هست .
من از کد زیر برای این کار استفاده می کنم ولی ارور میده که نمیشه برای ایمیلی غیر از ایمیل های ساخته شده در سایت ارسال کرد.(مثلا فقط میشه برای info@barnamenevis.org ارسال کرد ولاغیر در صورتی که آدرس ایمیل کاربر چیزی غیر از این هست (مثلا یک YahooID ویا Gmail و یا ....)
SmtpClient MyMail = new SmtpClient();
MailMessage MyMsg = new MailMessage();
MyMail.Host = "Mail.MyDomain.Com";
MyMsg.From = new MailAddress("Mail@MyDomain.com");
MyMsg.To.Add(new MailAddress("MailAddressFriend@GmailOrYahoo.com"));
MyMsg.Subject = "Subject";
MyMsg.SubjectEncoding = Encoding.UTF8;
MyMsg.IsBodyHtml = true;
MyMsg.BodyEncoding = Encoding.UTF8;
StreamReader sr = new StreamReader(Server.MapPath("Mail.htm"));
string Body = sr.ReadToEnd();
sr.Close();
string Source = "Http://wwww.MyDomain.Com/News.aspx?Id=345";
Body = Body.Replace("#Name#", TxtName.Text);
Body = Body.Replace("#Source#", Source);
MyMsg.Body = Body;
MyMail.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["Mail@MyDomain.com"], ConfigurationManager.AppSettings["*********"]);
MyMail.Send(MyMsg);
که MailAddressFriend@GmailOrYahoo.com توسط یک TextBox پر میشه.
متن ارور به شکل زیره:
Mailbox unavailable. The server response was: <MailAddressFriend@GmailOrYahoo.com> No such user here