نمایش نتایج 1 تا 23 از 23

نام تاپیک: آیا در ارسال email مشکل دارید؟

  1. #1

    آیا در ارسال email مشکل دارید؟

    بسیاری از سرورهای کنونی برای ارسال email نیاز به SMTP Authentication دارند. این همون علتی است که بسیاری از کسانی که سعی در فرستادن ایمیل از طریق asp.net میکنند اگر مقصد روی سرور دیگری باشد آن email با مشکل مواجه می شه. حالا این سوال پیش میاد که چطوری میشه این مشکل رو حل کرد. جواب خیلی ساده است. تنها با اضافه کردن کد زیر این مشکل حل خواهد شد:

     MailMessage msg = new MailMessage();
    msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", smtpServer);
    msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 25) ;
    msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", cdoSendUsingPort) ;
    msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", cdoBasic);
    msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", userName);
    msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", password);

    username و password همان account ایمیل شما در نظر گرفته خواهد شد . بقیه تنظیمات هم که مشخصه. فقط گاهی اوقات (خیلی به ندرت) ممکنه port مربوطه هم فرق داشته باشه که اون رو هم باید از mail server تون درخواست کنید.
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  2. #2
    پ.ن: فایل Interop.CDO.dll را نیز به عنوان Reference برنامه در پوشه ی Bin کپی کنید. Search About It

  3. #3
    کاربر دائمی آواتار JikSearch
    تاریخ عضویت
    خرداد 1383
    محل زندگی
    روبروی مانیتور
    پست
    259
    فایل Interop.CDO.dll از کجا تهیه کنیم؟ من توی کامپیوترم Search کردم نبود.
    تشکر

  4. #4

  5. #5
    با تشکر از titbasoft
    یک سوال cdoSendUsingPort و cdoBasic چیه؟
    ممنون

  6. #6
    کاربر دائمی آواتار manager
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    Z
    سن
    38
    پست
    771

    Angry آخر سر چه طور می شه یه میل ارسال کرد ؟

    با سلام

    آقا ما مردیم نتونستیم یه میل ارسال کنیم من نمی دونم چرا برنامه نویسان PHP مشکل smtpServer ندارن اما ASP یا ASP.net همیشه این مشکل رو داشته ؟
    لطفا مشکل منو حل کنید. (شاید هم من اشتباه می کنم !)

  7. #7
    اگه اساتید محترم لطف کنن و یه مثال بذارن خیلی عالیه !!! لطفاً اگه ممکنه...

  8. #8

    Smile

    ابتدا باید فایل های cdosys.dll و adodb.dll را در پوشه ی bin کپی کنید.
    این فایل ها رو می تونید از سایت www.dlldump.com داونلود کنید.
    پس از اضافه کردن این فایل ها به صورت Reference به برنامه، نیاز به کمی کدنویسی دارید:

    Dim cdoSendUsingMethod As String = "http://schemas.microsoft.com/cdo/configuration/sendusing"
    Dim cdoSMTPServerPickUpDirecory As String = "http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory"
    Dim cdoSMTPServer As String = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
    Dim cdoSMTPServerPort As String = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
    Dim cdoSMTPConnectionTimeout As String = "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
    Dim cdoSMTPAuthenticate As String = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
    Dim cdoSendUserName As String = "http://schemas.microsoft.com/cdo/configuration/sendusername"
    Dim cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword"

    Dim objMM As CDO.Message = New CDO.Message
    Dim Flds As ADODB.Fields = objMM.Configuration.Fields

    Flds(cdoSendUsingMethod).Value = CDO.CdoSendUsing.cdoSendUsingPort
    Flds(cdoSMTPAuthenticate).Value = CDO.CdoProtocolsAuthentication.cdoBasic
    Flds(cdoSMTPServer).Value = "localhost"

    Flds.Update()
    objMM.MimeFormatted = True

    objMM.From = "info@yektadev.com"
    objMM.To = "behrouz.rad@gmail.com"

    objMM.Subject = "Welcome!"
    objMM.HTMLBody = "<HTML><HEAD></HEAD><BODY><b>Welcome To My WebSite!</b></BODY></HTML>"

    objMM.Send()

    البته در کد فوق، از تمامی ثبات های تعریف شده استفاده نشده چون نیازی نبوده.
    در صورتی که سرویس ارسال ایمیل هاست شما جهت ارسال ایمیل به username و password نیاز داشت، ثبات های cdoSendUserName و cdoSendPassword نیز باید مقداردهی شوند.
    توجه: فایل Interop.CDO.dll، احتمالا به صورت خودکار در پوشه ی bin ایجاد خواهد شد.
    موفق باشید.

  9. #9
    سلام
    منم بعد از کلی تلاش تونستم ایمیل رو ارسال کنم(آخه معمولا ناقص بیان میشه) با تشکر از آقا بهروز که خیلی کمک کردن تو وبلاگم سورس نهایی برای ارسال ایمیل (+لاگین کردن به میل سرور) رو گذاشتم 100% کار میکنه:

    http://notvoid.persianblog.com/

  10. #10
    سلام
    می شود به صورت asp هم این کد را بنویسید

  11. #11
    من از smtpserver برای ارسال ایمیل استفاده میکنم .ایا نیازی به اضافه کردن کدهایی که titbasoft گفت دارم.اگر نه کد زیر چه مشکلی دارد.
    MailMessage smtpMssg =new MailMessage ();

    smtpMssg.To = "rohollahmahmoodiany@yahoo.com";
    smtpMssg.From = "a@yahoo.com" ;
    smtpMssg.Subject = "Message from friend" ;
    smtpMssg .BodyFormat=MailFormat.Text;
    smtpMssg.Body = "Hello Dude";
    smtpMssg .Priority=MailPriority.Normal;


    SmtpMail.SmtpServer = "mail.abadancity.net";
    SmtpMail.Send(smtpMssg );
    یا خطا میدهد که رشته ها را اشتباه به کار بردهاید یا میگوید که reject شده است یا.....ایا ممکن است به خاطر نداشتن اکسس به میل سرور باشد ؟چگونه میتوانم این مورد را تست کنم.؟
    باتشکر

  12. #12
    اگر mail server شما نیاز به smtp authentication داشته باشه باید از کد های ذکر شده استفاده کنید
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  13. #13
    لطفا یک نفر جواب بدهد

  14. #14
    سلام
    می شود به صورت asp هم این کد را بنویسید

  15. #15
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    تیر 1383
    پست
    105

    Email

    با سلام خدمت آقای راد
    بعد از کپی فایلهای ذکر شده در پوشه bin و اضافه کردن فایلها از references عینا کد زیر را کپی کردم که در خطی که علامت سئوال گذاشتم ( ADODB.Fields ) خطا می دهد . لطفا راهنمایی بفرمائید.


    Dim cdoSendUsingMethod As String = "http://schemas.microsoft.com/cdo/configuration/sendusing"
    Dim cdoSMTPServerPickUpDirecory As String = "http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory"
    Dim cdoSMTPServer As String = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
    Dim cdoSMTPServerPort As String = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
    Dim cdoSMTPConnectionTimeout As String = "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
    Dim cdoSMTPAuthenticate As String = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
    Dim cdoSendUserName As String = "http://schemas.microsoft.com/cdo/configuration/sendusername"
    Dim cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword"

    Dim objMM As CDO.Message = New CDO.Message
    Dim Flds As ADODB.Fields = objMM.Configuration.Fields ???????????????

    Flds(cdoSendUsingMethod).Value = CDO.CdoSendUsing.cdoSendUsingPort
    Flds(cdoSMTPAuthenticate).Value = CDO.CdoProtocolsAuthentication.cdoBasic
    Flds(cdoSMTPServer).Value = "localhost"

    Flds.Update()
    objMM.MimeFormatted = True

    objMM.From = "info@yektadev.com"
    objMM.To = "behrouz.rad@gmail.com"

    objMM.Subject = "Welcome!"
    objMM.HTMLBody = "<HTML><HEAD></HEAD><BODY><b>Welcome To My WebSite!</b></BODY></HTML>"

    objMM.Send()

  16. #16
    adodb.dll و cdosys.dll و Interop.CDO.dll
    البته همه ی سایت ها نیاز به این روش ندارند و به با استفاده از کلاس MailMessage نیز به خوبی کار خواهند کرد.
    برخی کدها نیز باید در تعیین Smtp خود به شکل زیر عمل کنند:

    SmtpMail.SmtpServer.Insert(0, "localhost")

    تجره به بنده ثابت کرده که بهترین روش برای آگاهی از نحوه ی ارسال E_Mail، تماس با تیم ساپورت هاست و تقاضای راهنمایی از آنهاست.

    موفق باشید.

  17. #17
    آقا یه مشکل جالب.
    من یه صفحه فرستادن اطلاعات دارم که وقتی از داخل اون به Yahoo میل میفرستم، میل به inbox من در yahoo میرسه، که این منطقی هست و یعنی داره درست کار میکنه.
    ولی وقتی به آدرس خودم در Mail.com یا Gmail میفرستم، میل نمیرسه و هیچ خطایی هم گرفته نمی شه.

    آیا کسی راه حلی داره ؟؟؟؟

    ممنون.
    آخرین ویرایش به وسیله md_bluelily : شنبه 19 فروردین 1385 در 14:46 عصر

  18. #18
    آقا درست شد.

  19. #19
    سلام
    من هم مشکل آقای hassan_RK رو دارم سر این خط خطا می ده؟!
    Dim Flds As ADODB.Fields = objMM.Configuration.Fields
    تویه msdn هم جستجو می کنم مباحث مربوط به access رو میاره؟

    در ضمن من چطوری بعد از برطرف شدن این خطا چک کنم که برنامه درست کار می کنه می شه بدون آپلود سایت این قسمت رو چک کرد.
    من الان متوجه شدم که cdosys ظاهرا برای ویندوز NT نیست؟!!
    ویندوز من xp sp2هستش و با vb2003 کار می کنم ، من باید چکار کنم یکی کمک کنه لطفا
    آخرین ویرایش به وسیله rezaei manesh : دوشنبه 12 تیر 1385 در 15:21 عصر

  20. #20

    سی شارپ لطفا

    اگر دوستان لطف کنند این کدها را برای vs 2005 و زبان #C برای همه کاربران قرار بدهند

  21. #21

    ارسال ایمیل توسط Asp.Net 2005

    برای ارسال میل در دات نت 2 قبل از هر کاری فضا نام System.Net.Mail را اضافه کنید
    این یک تابع هست که میتونید با صدا زدنش راحت ایمیل ارسال کنید
    فکر کنم واضح باشه البته برای بعضی قسمتاش توضیح نوشتم
    -------------------------------------------VB.NET-------------------------------------------------
    کد ها برای زبان وی بی :


    Public Sub sendmail(ByVal subject As String, ByVal mailto As String, ByVal htmltext As String, ByVal mfrom As String, ByVal mailserver As String, ByVal pass As String)

    Dim obj As New SmtpClient
    Dim Mailmsg As New MailMessage
    Mailmsg.To.Clear()

    Mailmsg.To.Add(New MailAddress(mailto))
    Mailmsg.From = New MailAddress(mfrom)
    Mailmsg.Subject = subject
    Mailmsg.BodyEncoding = System.Text.Encoding.UTF8 ' تعیین کدینگ متن بادی
    Mailmsg.IsBodyHtml = True
    obj.Host = mailserver 'جواب میده mai.yoursite.com خود که معمولا smtp server تعیین
    Dim basicAuthenticationInfo As New System.Net.NetworkCredential(mfrom, pass) ' رو انجام میده پس یوزر نیم و پسورد رو وارد میکنیم Authenticate این بخش کار

    obj.UseDefaultCredentials = False

    obj.Credentials = basicAuthenticationInfo

    Mailmsg.Body = htmltext ' این در حقیقت متن بادی است که شما میخواهید بفرستید
    Mailmsg.IsBodyHtml = True ' است و متن ساده نیست html تعیین میکند که بادی شما از نوع
    Try
    obj.Send(Mailmsg)
    Catch ex As Exception

    End Try

    End Sub



    -------------------------------------------#C-------------------------------------------------


    public void sendmail(string subject, string mailto, string htmltext, string mfrom, string mailserver, string pass)
    {
    SmtpClient obj = new SmtpClient();
    MailMessage Mailmsg = new MailMessage();
    Mailmsg.To.Clear();
    Mailmsg.To.Add(new MailAddress(mailto));
    Mailmsg.From = new MailAddress(mfrom);
    Mailmsg.Subject = subject;
    Mailmsg.BodyEncoding = System.Text.Encoding.UTF8;
    Mailmsg.IsBodyHtml = true;
    obj.Host = mailserver;
    System.Net.NetworkCredential basicAuthenticationInfo = new System.Net.NetworkCredential(mfrom, pass);
    obj.UseDefaultCredentials = false;
    obj.Credentials = basicAuthenticationInfo;
    Mailmsg.Body = htmltext;
    Mailmsg.IsBodyHtml = true;
    try
    {
    obj.Send(Mailmsg);
    }
    catch (Exception ex)

    {
    Response.Write(ex.Message);
    }
    }


  22. #22

    نقل قول: آیا در ارسال email مشکل دارید؟

    سلام.میشه یکی از اساتید کمک کنه و بگه چطوری میتونم به زبون سی شارپ ارسال و دریافت جمیل رو داشته باشم؟ اگه سورس کد اماده داشته باشین و بذارین خیلی ممنون میشم.

  23. #23

    نقل قول: آیا در ارسال email مشکل دارید؟

    به اينجا مراجعه كنيد...!

تاپیک های مشابه

  1. چطوری تو دلفی با اینترنت پروکسی دار میتونم Email بزنم
    نوشته شده توسط Soroush_webmaster در بخش برنامه نویسی در Delphi
    پاسخ: 0
    آخرین پست: چهارشنبه 22 فروردین 1386, 18:38 عصر
  2. ایجاد پست الکترونیکی (email ) در شبکه
    نوشته شده توسط ssmehizadeh در بخش شبکه و Networking‌
    پاسخ: 2
    آخرین پست: چهارشنبه 03 خرداد 1385, 18:06 عصر
  3. ارسال و مدیریت email در ++vc
    نوشته شده توسط saffari2005 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: یک شنبه 15 آبان 1384, 19:39 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •