דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. מחלקה גנרית לשליחת מייל בC#

מחלקה גנרית לשליחת מייל בC#

מתוזמן נעוץ נעול הועבר ארכיון code613m
15 פוסטים 4 כותבים 844 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • Men770M מנותק
    Men770M מנותק
    Men770
    כתב ב נערך לאחרונה על ידי
    #2

    תודה.
    הקוד לא שולח לי.

    פורסם במקור בפורום CODE613 ב26/08/2016 14:28 (+03:00)

    יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

    תגובה 1 תגובה אחרונה
    0
    • A מנותק
      A מנותק
      avr416
      כתב ב נערך לאחרונה על ידי
      #3

      תראה מה עשית?

      פורסם במקור בפורום CODE613 ב26/08/2016 14:37 (+03:00)

      תגובה 1 תגובה אחרונה
      1
      • Men770M מנותק
        Men770M מנותק
        Men770
        כתב ב נערך לאחרונה על ידי
        #4

        Send.cs

        using System;
        using System.Collections.Generic;
        using System.Configuration;
        using System.Net;
        using System.Net.Mail;
        using System.Text;
        
        public class MessageGmail
        {
            //חשוב להקפיד שהערכים יהיו כך      
            //key=שם הנמען,value=כתובת המייל שלו
            public Dictionary<string, string> ToList { get; set; } = new Dictionary<string, string>();
            public string Subject { get; set; }
            public string Body { get; set; }
            public bool IsBodyHtml { get; set; } = false;
            public List<Attachment> ListFileAttachment { get; set; } = new List<Attachment>();
        }
        
        public static class SendMail
        {
            private static string senderName = ConfigurationManager.AppSettings["From"].ToString();
            private static string senderEmailId = ConfigurationManager.AppSettings["SMTPUserName"].ToString();
            private static string password = ConfigurationManager.AppSettings["SMTPPasssword"].ToString();
            private static MailAddress fromAddress = new MailAddress(senderEmailId, senderName);
        
            public static bool SendEMail(MessageGmail message)
            {
                var success = false;
                var msg = createMessage(message);
                msg = addFilesToMessage(message, msg);
        
                var client = createClient();
                try
                {
                    client.Send(msg);
                    success = true;
                }
                catch (Exception ex)
                {
                    //להוסיף דיוח על שגיאה אם רוצים
                }
                return success;
            }
        
            private static MailMessage createMessage(MessageGmail message)
            {
                MailMessage msg = new MailMessage()
                {
                    From = fromAddress,
                    Subject = message.Subject,
                    Body = message.Body,
                    IsBodyHtml = message.IsBodyHtml,
                    SubjectEncoding = Encoding.UTF8,
                    BodyEncoding = Encoding.UTF8
                };
                //מצרף את כתובות המייל לשליחה
                foreach (var address in message.ToList)
                {
                    var ToAddress = new MailAddress(address.Value, address.Key);
                    msg.To.Add(ToAddress);
                }
                return msg;
            }
        
            private static SmtpClient createClient()
            {
                SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
                client.EnableSsl = true;
                client.Credentials = new NetworkCredential(fromAddress.Address, password);
                return client;
            }
        
            private static MailMessage addFilesToMessage(MessageGmail originalMessage, MailMessage msg)
            {
                if (originalMessage.ListFileAttachment != null)
                {
                    foreach (var file in originalMessage.ListFileAttachment)
                    {
                        msg.Attachments.Add(file);
                    }
                }
                return msg;
            }
        }
        

        Program.cs

        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Text;
        using System.Threading.Tasks;
        using System.Net.Mail;
        
        namespace ConsoleApplication1
        {
            class Program
            {
                static void Main(string[] args)
                {
                    MessageGmail mg = new MessageGmail();
                    mg.Subject = "test";
                    mg.Body = "test";
                    mg.ToList.Add("שם המייל", "כתובת המייל");
                    SendMail.SendEMail(mg);
                    
                }
            }
        }
        

        פורסם במקור בפורום CODE613 ב29/08/2016 11:34 (+03:00)

        יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

        תגובה 1 תגובה אחרונה
        0
        • A מנותק
          A מנותק
          avr416
          כתב ב נערך לאחרונה על ידי
          #5

          איפה הגדרת את חשבון השולח שלך?

          פורסם במקור בפורום CODE613 ב29/08/2016 12:02 (+03:00)

          תגובה 1 תגובה אחרונה
          0
          • Men770M מנותק
            Men770M מנותק
            Men770
            כתב ב נערך לאחרונה על ידי
            #6

            ב app.config

            פורסם במקור בפורום CODE613 ב31/08/2016 13:04 (+03:00)

            יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

            תגובה 1 תגובה אחרונה
            0
            • A מנותק
              A מנותק
              avr416
              כתב ב נערך לאחרונה על ידי
              #7

              צרף פה את כל הפרוייקט (קובץ ZIP), כדי שנוכל לראות ולעזור לך.

              פורסם במקור בפורום CODE613 ב31/08/2016 13:36 (+03:00)

              תגובה 1 תגובה אחרונה
              0
              • Men770M מנותק
                Men770M מנותק
                Men770
                כתב ב נערך לאחרונה על ידי
                #8

                צרפתי.
                צריך Visual Studio 15 Preview 4 כדי לפתוח.
                העלו פה קישור להתקנה.

                שליחת מייל.zip

                פורסם במקור בפורום CODE613 ב31/08/2016 13:49 (+03:00)

                יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

                תגובה 1 תגובה אחרונה
                0
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  כתב ב נערך לאחרונה על ידי
                  #9

                  מתכנת יקר, מתרחשת שגיאה כל שהיא או כלום לא קורה?
                  אנא גם שים נקודת עצירה בתוך הTry (בקובץ Send שורה 39) ותראה אם זה עוצר, ואם כן מה התוכן של השגיאה בex.

                  פורסם במקור בפורום CODE613 ב31/08/2016 14:10 (+03:00)

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  תגובה 1 תגובה אחרונה
                  1
                  • A מנותק
                    A מנותק
                    avr416
                    כתב ב נערך לאחרונה על ידי
                    #10

                    קודם כל בפרוייקט שצירפת לא הגדרת שום חשבון לשליחה, (אני מניח כדי שלא נוכל לפרוץ לך לגימייל..). אז בהנחה שאתה מגדיר את כל הפרטים בצורה נכונה ומדוייקת.
                    אצלי זה עובד!
                    אולם ניסיתי עם חשבון מייל אחר, וקיבלתי מייד מייל מגוגל שמישהו ניסה להתחבר לחשבון שלי דרך אפליקציה שאינה עומדת בתקני האבטחה המחמירים של גוגל <!-- s8-) --><img src="{SMILIES_PATH}/icon_cool.gif" alt="8-)" title="מגניב" /><!-- s8-) --> ולכן הם חסמו זאת.. אז ככל הנראה זאת הסיבה שזה לא עובד אצלך.
                    תבדוק בחשבון המייל שלך אם אתה מקבל את ההודעה הבאה:

                    2016-08-31.png
                    עיין בקישור הבא כיצד אתה יכול לשנות את הגדרות החשבון כדי שיאפשרו שליחת מייל דרך אפליקציה

                    במייל שלי אני אפשרתי זאת (כדי לאפשר לאאוטלוק להשתמש במייל של גוגל..)
                    בהצלחה!

                    פורסם במקור בפורום CODE613 ב31/08/2016 15:34 (+03:00)

                    תגובה 1 תגובה אחרונה
                    1
                    • Men770M מנותק
                      Men770M מנותק
                      Men770
                      כתב ב נערך לאחרונה על ידי
                      #11

                      לא קיבלתי כזו הודעה.

                      פורסם במקור בפורום CODE613 ב01/09/2016 14:27 (+03:00)

                      יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

                      תגובה 1 תגובה אחרונה
                      0
                      • A מנותק
                        A מנותק
                        avr416
                        כתב ב נערך לאחרונה על ידי
                        #12

                        @מתכנת

                        לא קיבלתי כזו הודעה.

                        בקובץ הקונפיגורציה הגדרת טוב את חשבון המייל השולח? כי בקובץ שצירפת לא היה מוגדר כלום..
                        אתה צריך להחליף את המילים "כתובת המייל של השולח - דהיינו החשבון שלנו" בחשבון הגימייל שלך כולל הסיומת @gmail.com
                        ובמקום "סיסמת החשבון שלנו" לכתוב את הסיסמא שאתה אתה נכנס לחשבון.
                        אם למרות זאת זה לא עובד - אולי יש לך בעיה בתעבורת האינטרנט במחשב..

                        פורסם במקור בפורום CODE613 ב01/09/2016 14:55 (+03:00)

                        תגובה 1 תגובה אחרונה
                        0
                        • dovidD מנותק
                          dovidD מנותק
                          dovid ניהול
                          כתב ב נערך לאחרונה על ידי
                          #13

                          @מתכנת

                          לא קיבלתי כזו הודעה.

                          חבל שלא טרחת לציין כלום חוץ מהמשפט היבש הזה.
                          אני לפחות בהודעתי השקעתי יותר מאמץ. וavr416 אף הרבה יותר.

                          פורסם במקור בפורום CODE613 ב01/09/2016 15:45 (+03:00)

                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                          תגובה 1 תגובה אחרונה
                          1
                          • chagoldC מנותק
                            chagoldC מנותק
                            chagold
                            כתב ב נערך לאחרונה על ידי
                            #14

                            היה לי בעיה דומה בשליחה מתוכנה אחרת. גימייל לפעמים חסמו ולפעמים לא, לפעמים שלחו את ההודעה ולפעמים לא, ובפעמים שחסמו ולא שלחו הודעה, פשוט לא מצאתי בגימייל היכן אמורים לטפל בהגדרה הזו ולכן לא יכלתי לפרוץ את הגישה.

                            פורסם במקור בפורום CODE613 ב02/09/2016 11:37 (+03:00)

                            תגובה 1 תגובה אחרונה
                            0
                            • Men770M מנותק
                              Men770M מנותק
                              Men770
                              כתב ב נערך לאחרונה על ידי
                              #15

                              @avr416

                              @מתכנת
                              לא קיבלתי כזו הודעה.

                              בקובץ הקונפיגורציה הגדרת טוב את חשבון המייל השולח? כי בקובץ שצירפת לא היה מוגדר כלום..
                              אתה צריך להחליף את המילים "כתובת המייל של השולח - דהיינו החשבון שלנו" בחשבון הגימייל שלך כולל הסיומת @gmail.com
                              ובמקום "סיסמת החשבון שלנו" לכתוב את הסיסמא שאתה אתה נכנס לחשבון.
                              אם למרות זאת זה לא עובד - אולי יש לך בעיה בתעבורת האינטרנט במחשב..

                              כן.

                              פורסם במקור בפורום CODE613 ב04/09/2016 18:06 (+03:00)

                              יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

                              תגובה 1 תגובה אחרונה
                              0

                              בא תתחבר לדף היומי!
                              • התחברות

                              • אין לך חשבון עדיין? הרשמה

                              • התחברו או הירשמו כדי לחפש.
                              • פוסט ראשון
                                פוסט אחרון
                              0
                              • דף הבית
                              • קטגוריות
                              • פוסטים אחרונים
                              • משתמשים
                              • חיפוש
                              • חוקי הפורום