PDA

View Full Version : ارسال پست الکترونیکی



papa_fal
پنج شنبه 02 شهریور 1385, 19:12 عصر
با سلام
من این کد را برای ارسال mail نوشتم


MailMessage Message = new MailMessage();
Message.To = txtTO.Text ;
Message.From = txtFROM.Text ;
Message.Subject=txtSUBJECT.Text;
Message.Body = txtMESSAGE.Text;
SmtpMail.SmtpServer = "your mail server name goes here";
SmtpMail.Send(Message);


که این خطا را می دهد:


Server Error in '/sendmail' Application.
--------------------------------------------------------------------------------

The transport failed to connect to the server.


Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime.InteropServices.COMException: The transport failed to connect to the server.



این خط را خطا می گیرد:


SmtpMail.Send(Message);



ممنون می شم که منو راهنمایی کنید.
با تشکر از همه شما

dot_net_lover2
پنج شنبه 02 شهریور 1385, 19:36 عصر
MailMessage myMail = new MailMessage();
myMail.From = "SendMailAccount@Gmail.com";
myMail.To = "ReciveMailAccount@DomainName.com";
myMail.Subject = "Subject";
myMail.Priority = MailPriority.High;
myMail.BodyFormat = MailFormat.Html;
myMail.BodyEncoding = System.Text.Encoding.UTF8;
myMail.Body = "<html dir=rtl><body><font face=Tahoma size=2>Mail Body Text Here</font></body></html>";
SmtpMail.SmtpServer = "smtp.gmail.com";
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "SendMailAccount@Gmail.com");
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "SendMailAccountPassword");
// - smtp.gmail.com use port 465 or 587
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", "465");
// - smtp.gmail.com use STARTTLS (some call this SSL)
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");
// try to send Mail
SmtpMail.Send(myMail);

فقط توجه داشته باشید Mail Account مربوط به Gmail که به عنوان myMail.From استفاده شده است حتما باید ساخته و موجود شده باشد و نیز Port 465 بر روی سروری که کد شما قرار میگیرد باید قابل دسترسی باشد.

papa_fal
پنج شنبه 02 شهریور 1385, 20:32 عصر
ممنونم از شما دوست عزیز
میشه کمی بیشتر در مورد خطوط 8 به بعد توضیح دهید؟؟؟؟


با تشکر

dot_net_lover2
جمعه 03 شهریور 1385, 03:23 صبح
از خط ۸ به بعد ابتدا SMTP سرور خود را معرفی میکنید و سپس توسط خطوط بعدی مواردی را که جهت Connect شدن به SMTP SERVER مورد نیاز است را معرفی میکنید و در نهایت در خط آخر اقدام به ارسال MAIL مینمایید.

papa_fal
چهارشنبه 08 شهریور 1385, 17:27 عصر
ممنونم از شما دوست عزیز
من این سرور را معرفی کردم :


SmtpMail.SmtpServer = "mx1.mail.yahoo.com";

فرقش با سرور زیر چیه:


SmtpMail.SmtpServer = "smtp.gmail.com";


منظورم اینه که چه فرقی می کنه از یاهو باشه یا از گوگل{در فرستنده یا گیرنده فرقی می کند}
یعنی میل فرستنده باید در یاهو باشد یا در گوگل(در دومین خاصی؟؟؟)
در ضمن من این کد ها رو به کار نبردم ولی بازم کار کرد!
کار اصلی این کد ها چیه؟


myMail.Fields.Add("http://schemas.microsoft.com/cdo/con...tpauthenticate", "1");
myMail.Fields.Add("http://schemas.microsoft.com/cdo/con...n/sendusername", "SendMailAccount@Gmail.com");
myMail.Fields.Add("http://schemas.microsoft.com/cdo/con...n/sendpassword", "SendMailAccountPassword");
// - smtp.gmail.com use port 465 or 587
myMail.Fields.Add("http://schemas.microsoft.com/cdo/con...smtpserverport", "465");
// - smtp.gmail.com use STARTTLS (some call this SSL)
myMail.Fields.Add("http://schemas.microsoft.com/cdo/con...ion/smtpusessl", "true");
// try to send Mail


من این کد را نوشتم و کاملا کار کرد:


MailMessage Message = new MailMessage();
Message.To = txtTO.Text ;
Message.From = txtFROM.Text ;
Message.Subject = txtSUBJECT.Text;
Message.Body = txtMESSAGE.Text;
SmtpMail.SmtpServer = "mx1.mail.yahoo.com";
SmtpMail.Send(Message);

فقط مسئله این است که به BULK می فرسته!
چاره ای برای این کار وجود ندارد؟؟؟

با تشکر از شما

nima_dir
پنج شنبه 09 شهریور 1385, 09:26 صبح
سلام دوستان
مشکل منم اینه که ای میل من به bulk میره
باید چکار کنم که اینطوری نشه

Behrouz_Rad
پنج شنبه 09 شهریور 1385, 10:14 صبح
مسلما به این شکل، ایمیل به Bulk فرستاده میشه چون:
شما از Mail Server یاهو استفاده کردید اما به عنوان یک فرد ناشناس!
تا زمانی که هویت شما برای یاهو نامشخص باشه، شما به عنوان یک مزاحم تلقی خواهید شد و ایمیل های شما به عنوان Spam به Bulk فرستاده میشه...
با استفاده از کلاس MailMessage ایمیل خود را ایجاد کنید.
با استفاده از کلاس NetworkCredential هویت خود را مشخص کنید. (ایمیل در یاهو + کلمه ی عبور)
با استفاده از کلاس SmtpClient اقدام به ارسال ایمیل ایجاد شده با هویت معلوم کنید.

موفق باشید.

papa_fal
پنج شنبه 09 شهریور 1385, 10:25 صبح
ممنونم
منظور از آن کدها چیه؟؟
من اونها رو ننوشتم کار کرد.
و همچنین تفاوت این دو سروری که در پست قبلیم نوشتم .
با تشکر

dot_net_lover2
جمعه 10 شهریور 1385, 11:56 صبح
شما از Mail Server یاهو استفاده کردید اما به عنوان یک فرد ناشناس!
تا زمانی که هویت شما برای یاهو نامشخص باشه، شما به عنوان یک مزاحم تلقی خواهید شد و ایمیل های شما به عنوان Spam به Bulk فرستاده میشه...
موفق باشید.

این کدها هویت شما را مشخص می کند و باعث میشود که به صورت Bulk ایمیل شما ارسال نشود.

ali643
جمعه 10 شهریور 1385, 14:09 عصر
سلام
والا من همه مدلشو تست کردم در Search همین سایت دو صفحه در مورد Mail پیدا شد که هر کدومشو تست کردم همش به bulk رفت مثال های Codeproject هم تست کردم اصلا انگار این Smtp ما رو Authenticate نمی کنه دوستان اگه میشه یه sample کامل که ایمیل رو به Inbox بفرسته رو بگذارند که این مشکل آخرش حل بشه
فعلا برا اول کار ایمیل از سیستم خودمون فرستاده بشه بعد سراغ هاست و Smtp هاستی که پروژه رو اونجا می ریزیم

خوش به حال این PHP کارا که برا Smtp انقدر مشکل ندارند

ابن پیغام خطا رو برا وقتی میده که از smtp.gmail.com استفاده می کنم میده


The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Must issue a STARTTLS command first 37sm1579756hua


مرسی

Behrouz_Rad
شنبه 11 شهریور 1385, 12:39 عصر
یاهو و جیمیل از SSL استفاده می کنند.
خاصیت EnableSsl شی ایجاد شده از کلاس SmtpClient رو برابر با True قرار بده.
خاصیت UseDefaultCredentials را نیز برابر با False و خاصیت Credentials رو هم برابر با شی ایجاد شده از کلاس NetworkCredential که شامل ایمیل و کلمه ی عبور تو در یاهو یا جیمیل هست.

موفق باشید.

ali643
شنبه 11 شهریور 1385, 12:46 عصر
حل شد
مرسی

nima_dir
شنبه 11 شهریور 1385, 16:31 عصر
سلام اقای راد ممنون از لطفتون