PDA

View Full Version : ارسال ایمیل از طریق gmail در asp.net 1.1



olkamiz
دوشنبه 17 تیر 1387, 11:26 صبح
لطفا اگه اشکالی در کد زیر است برایم بگید: چون عمل نمی کنه؟



Dim objmail As New MailMessage
objmail.From = "ostoon@gmail.com"
objmail.To = "ostoon@gmail.com"
objmail.Subject = "welcome to olkamiz website"
objmail.BodyEncoding = System.Text.Encoding.UTF8
objmail.Body = "hello"
objmail.BodyFormat = MailFormat.Text
SmtpMail.SmtpServer = "smtp.gmail.com"

objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", "smtp.gmail.com")
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 587)
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", 1)
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "ostoon@gmail.com")
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "password")
Try
SmtpMail.Send(objmail)
Catch ex As Exception
End Tr

raravaice
دوشنبه 17 تیر 1387, 12:50 عصر
objmail.Fields.Add("http://schemas.microsoft.com/cdo/con...smtpserverport (http://schemas.microsoft.com/cdo/configuration/smtpserverport)", 587)

پورت smtp گوگل تو مد https این شماره نیست؟!!
587 رو حدس زدی؟
یا باید از 25 استفاده کنی یا 465
من دات نت 1 الان نصب ندارم.

پیشنهاد میدم هر چه زودتر برنامه هاتون رو به دات نت 2 مهاجرت بدید حتی اگر ماهها طول بکشه تبدیلش.

موفق باشید

olkamiz
دوشنبه 17 تیر 1387, 15:12 عصر
587 را حدس نزدم. بلکه در سایت ها آن را دیده ام.
خوب با این وجود آدرس پورت را هم به 25 و هم به 465 تغیر دادم ولی باز هم کار نکرد.
در ضمن من می دانم دات نت 2 بهتر است. ولی فعلا نمی توانم به آن مهاجرت کنم و باید باید با دات نت 1 کار کنم.

raravaice
دوشنبه 17 تیر 1387, 17:44 عصر
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true")


و از همون 465 برای شماره پورت استفاده کن.

موفق باشید

olkamiz
دوشنبه 17 تیر 1387, 19:31 عصر
Dim objmail As New MailMessage
objmail.From = "ostoon@gmail.com"
objmail.To = "ostoon@gmail.com"
objmail.Subject = "welcome to olkamiz website"
objmail.BodyEncoding = System.Text.Encoding.UTF8
objmail.Body = "hello"
objmail.BodyFormat = MailFormat.Text
SmtpMail.SmtpServer = "smtp.gmail.com"
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", "smtp.gmail.com")
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 465)
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", 1)
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "ostoon@gmail.com")
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "password")
objmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true")
Try
SmtpMail.Send(objmail)
Catch ex As Exception
End Try


در هر بار اجرا باز در پردازش استثنا وارد exception می شود و ایمیل ارسال نمی شود.
لازم به ذکر است که این کد برای ایمیل سایت خودم درست کار می کند ولی برای yahoo , gmail درست کار نمی کند.
آیا پیشنهاد دیگری دارید؟

raravaice
دوشنبه 17 تیر 1387, 19:48 عصر
Try رو بردار ببین حرفش چیه؟! ایراد از چی میگیره؟!

موفق باشید

bermouda
دوشنبه 17 تیر 1387, 20:15 عصر
میشه کد C# هم بزارید ؟
ممنون میشم.

olkamiz
دوشنبه 17 تیر 1387, 22:34 عصر
خطایی که گرفته می شه



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.



یکی گفت ممکنه مربوط به آنتی ویروس باشه . همه ی گزینه های مربوط به آنتی ویروس مربوط به ایمیل را غیر فعال کردم و حتی از آن خارج شدم ولی باز هم این خطا وجود دارد.
الان دارم روی آن کار می کنم.
از این که توجه می کنید متشکرم

olkamiz
دوشنبه 17 تیر 1387, 22:36 عصر
دریافت کد C# مربوط به ارسال ایمیل : برای bermouda

http://www.codeproject.com/KB/IP/Email_Sending_in_C_.aspx

raravaice
سه شنبه 18 تیر 1387, 11:08 صبح
این مشکل زمانی پیش میاد که سرور شما به نحوی مقصد رو نبینه که میتونه از:

1.تنظیمات smtp شما باشه! (که نیست)
2.فایروال یا تنظیمات سمت سرور اجازه این کار رو به شما نمیده.

یه مقاله ای در این زمینه هست بخون اگر برطرف نشد مسئله رو روی هاست دیگه یا local خودت بررسی کن اگر درست شد با مسئول سرورت تماس بگیر.

اگر نتونستی هاست دیگه ای پیدا کنی یه نمونه برای ارسال ایمیل درست کن ،کامپایل کن و اینجا ضمیمه کن روی هاستهای دیگه برات بررسیش کنم چون من خودم الان دسترسی به vs 2003 ندارم.


http://support.microsoft.com/?id=314201

توی مقاله نوع تعریف رو ببین:


Dim oMsg As MailMessage = New MailMessage()


http://www.velocityreviews.com/forums/t66613-aspnet-mail-error-the-transport-failed-to-connect-to-the-server.html

موفق باشید

olkamiz
سه شنبه 18 تیر 1387, 16:37 عصر
من فکر می کنم مشکل فایروال و یا آنتی ویروس نداشته باشم چون از ایمیل admin@olkamiz.com با آدرس smtp که mail.olkamiz.com است می توانم ایمیل ارسال کنم
پس مشکل ارسال از کامپیوتر من نیست بلکه یه جای کار برای ارسال از gmail یا yahoo درست نیست.
من تمام کارهایی که مقالات گفته بودند انجام دادم.
بیشتر فروم های داخلی و خارجی رو هم گشتم.
همه این مشکل را داشتند و مطرح کرده بودند و لی کسی به اونا یک جواب درست و حسابی نداده بود که بگه فلان کار رو انجام بدی حل می شه!

فایل کامپایل شده رو ضمیمه می کنم.اگه می تونید یک بررسی روی آن انجام بدید

raravaice
سه شنبه 18 تیر 1387, 16:55 عصر
ایراد که نمیگیره حالا نمیدونم ایمیل میرسه یا نه.

http://www.xvay.com/webform1.aspx

موفق باشید

olkamiz
سه شنبه 18 تیر 1387, 17:25 عصر
آقا درست کار می کنه .ایمیل ها رسیده .
از این که بحث رو دنبال کردین خیلی ممنونم.
پس می شه نتیجه گرفت که اشکال از کد نیست و یه جای دیگه است. به هر حال متشکرم.
من هم رفتم این برنامه رو تو یه هاست دیگه ریختم همون طور که شما انجام دادید. دیدم اونجا درست کار می کنه!!!دیگه این موضوع حل شد.

برنامه رو دوباره ضمیمه می کنم کسایی که می خوان ببینن درست کار می کنه
از navid.navid20@gmail.com
به nvaid.navid20@gmail.com