PDA

View Full Version : دریافت email پس از submit



maryam_80
پنج شنبه 17 خرداد 1386, 22:29 عصر
سلام
من در سایت برای ایمیل جستجو کردم ولی در تمام آنها قرار هست که یک ایمیل از طرف مثلا مالک سایت به کاربران فرستاده شود.
حالا من در برنامه ام یک فرم submit دارم که کاربر در آن فرم نام،نام خانوادگی، ایمیل خودش و یک متن (body) را وارد می کند و با زدن کلید" ارسال " یک ایمیل به mailbox من در yahooمیاد.
آیآ روند کار فرق می کند؟
آیا برای این کار من باید یک mailserver جدا داشته باشم یا نه؟
کد من به صورت زیر هست و با اجرای آن خطای زیر را میدهد:


MailAddress fromadd=newMailAddress(FromAddress,FromName);
MailAddress toadd=newMailAddress("myemail@yahoo.ca");
MailMessage msg = newMailMessage(fromadd, toadd);
msg.Subject = "test message";
msg.Body = body;
SmtpClient client = newSmtpClient("localhost");
client.EnableSsl = true;
client.UseDefaultCredentials = false;
try
{
client.Send(msg);
}
catch (Exception ex)
{
Label6.Text=ex.Message.ToString();
}


و خطای


failure sending mail


در ضمن من در vs2005 و با c# کار میکنم

Alireza_Salehi
جمعه 18 خرداد 1386, 00:11 صبح
فقط باید مقادیر host و port و Enablessl و Credentials را بر اساس مشخصات mailserver سایتتان تنظیم کنید!

مثلا این کد ارسال ایمیل بوسیله gmail :


SmtpClient sc = newSmtpClient();
sc.Host = "smtp.gmail.com";
sc.Port = 587;
sc.EnableSsl = true;
sc.UseDefaultCredentials = false;
sc.Credentials = new System.Net.NetworkCredential("testmail@gmail.com", "testpassword");
MailMessage msg = newMailMessage("testmail@gmail.com","test@test.com", "test", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
sc.Send(msg);


حالا موارد قرمز را با مشخصات خودتان جایگزین کنید.

maryam_80
جمعه 18 خرداد 1386, 00:21 صبح
در ابتدا ممنون از راهنمایی شما
من این کد را تست کردم ،مشکلی ندارد .من تونستم از gmail خودم برای yahoo میل بفرستم.
ولی مشکل من این هست که می خواهم وقتی کاربر دکمه sumbit را کلیک کرد.یک mail از طرف آن کاربر برای من بیاد.نه اینکه من برای او ارسال میل کنم؟؟
آیا میشه این کار را انجام داد؟

Alireza_Salehi
جمعه 18 خرداد 1386, 08:38 صبح
یعنی شما می خواهید از طرف کس دیگری برای خودتان میل بفرستید!!!؟؟؟؟

خوب 2 تا فیلد دیگه به فرمتون اضافه کنید به نام Username و Password بعدش به هدفتون می رسید. (البته هیچ کس این دو تا فیلد را پر نخواهد کرد)!

برای ساختن فرم های "تماس با ما" یا امثالهم معمولا دیتابیسی وجود دارد که مشخصات فرستنده مثل ایمیل ، نام و ... در آن ثبت می شود. حالا اگر همچین دیتابیس ندارید و با ارسال ایمیل این موارد را ثبت می کنید ، آدرس ایمیل فرستنده را در متن ایمیل قرار دهید بعد خودتان برای خودتان میل بزنید.

maryam_80
جمعه 18 خرداد 1386, 14:37 عصر
ممنون
خودم هم به همین نتیجه رسیده بودم.چون بدون password کاری نمی توان کرد.
حالا یک سوال دیگه:آیا می توان yahoo را بعنوان host تعریف کرد؟و اگر می شود به چه شکل؟

Alireza_Salehi
جمعه 18 خرداد 1386, 15:10 عصر
ممنون
خودم هم به همین نتیجه رسیده بودم.چون بدون password کاری نمی توان کرد.
حالا یک سوال دیگه:آیا می توان yahoo را بعنوان host تعریف کرد؟و اگر می شود به چه شکل؟
تقریبا تمام سرویس های ایمیل دارای قابلیت POP3 هستند فقط بعضی ها مثل gmail و hotmail مجانی هستند بعضی هم مثل یاهو پولی هستند. نحوه وصل شدن به این سرویس ها هم در راهنمای هر کدومشون موجوده.

به طور خاص در مورد یاهو باید ایمیل خودتون رو به سرویس Yahoo! Mail Plus ارتقا بدید سالی 19.99$ .

maryam_80
جمعه 18 خرداد 1386, 15:15 عصر
از راهنمایی شما متشکرم