الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ارسال multi email من داخل قاعده بيانات sql

بدأه nice_man_36 في 12 فبراير 2014 · 7 رد · 645 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم شباب هذه اول مشاركه منى  واتمنى تفيدونى 

 

 

انا مبتدىء فى مشروع customer care  وعندى مشكله انى مش عارف ارسل ايميل لجميع العملاء الى موجودين فى جودل العملاء عندى

 

انا عامل صفحه فيها الاتى

 

1 - txt_titel

2- txt_body

3- file upload

4-.btn_sendmail

5-lbl_msg   لعرض مثلا تم ارسال الايميل

 

انا فاهم الفكره انى المفروض انى استدعى مثلا من جدول customer على عمود email  ويبتدى يرسل  ويعمل لوب لحد اخر الجدول

بس بصراحه مش عارف انفذها اذا ممكن تساعدونى بالكود ابقى شاكر ليكم

انا بستخدم فيجوال استديو 2008

sql 2005

 

اتمنى تساعدونى 

#2

هذا التابع بفي بالعمل المطلوب ولكن تحتاج لبريد الكتروني خاص بك على موقع الجيل ميل

public static void SendEmail(string Subject, string Body, string To, string From)
    {
        bool b = true;
        string smtpAddress = "smtp.gmail.com";
        int PortNumber = 587;
        bool enableSSL = true;
        using (MailMessage message = new MailMessage())
        {
            message.To.Add(To);
            message.From = new MailAddress("YourEmail@gmail.com");
            message.Subject = Subject;
            message.Body = Body;
            message.IsBodyHtml = true;
            using (SmtpClient smtp = new SmtpClient(smtpAddress, PortNumber))
            {
                smtp.Credentials = new NetworkCredential("YourEmail@gmail.com", "YourPassword");
                smtp.EnableSsl = enableSSL;
                smtp.Send(message);
            }
        }
        
    }

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#3
Tammam_KD كتب:

 

هذا التابع بفي بالعمل المطلوب ولكن تحتاج لبريد الكتروني خاص بك على موقع الجيل ميل

public static void SendEmail(string Subject, string Body, string To, string From)
    {
        bool b = true;
        string smtpAddress = "smtp.gmail.com";
        int PortNumber = 587;
        bool enableSSL = true;
        using (MailMessage message = new MailMessage())
        {
            message.To.Add(To);
            message.From = new MailAddress("YourEmail@gmail.com");
            message.Subject = Subject;
            message.Body = Body;
            message.IsBodyHtml = true;
            using (SmtpClient smtp = new SmtpClient(smtpAddress, PortNumber))
            {
                smtp.Credentials = new NetworkCredential("YourEmail@gmail.com", "YourPassword");
                smtp.EnableSsl = enableSSL;
                smtp.Send(message);
            }
        }
        
    }

اشكرك اخرى الكريم على ردك عليه 

لكن المشكله هو انى مبتدىء ومش عارف بصراحه ازاى استدعى الصف الى فيه الاميل الخاص بقاعده البيانات الخاصه بيى واعمل عليها لوب وبعدين يبتدى يبعت ايميل ايميل او بمعنى اصح مش عارف اكتب الكود كويس اذا ممكن تساعدنى 

 

انا عندى قاعده بيانات باسم mohamed فيها جدول customer فى عمود email

 

ده الى انا عايز استدعى منه الايميل وارسل عنوان الموضوع ثم الموضوع  مع وجود مرفق صوره او ملف 

فى بس سؤال بالنسبه لكود الارسال بالميل هو عرفت منين ان التكست بوكس الخاص بالsubject او body هو فهم منين وعرف انه هياخد منهم الداتا ثم يرسلها كارساله 

اسف اذا كنت هتعبك معايا لكنى محتاج تدريب كتير انا فاهم الفكره لكن مش عارف ابتدى بالكود ازاى

تم تعديل هذه المشاركة بواسطة nice_man_36 في 13 فبراير 2014 في 17:44

#4

أخي الكريم ليس من الحكمة اعطاءك كود جاهز عليك البحث لتتعلم وحاليا سأنصحك بتعلم كيفية استخدام SQLDataReader وكيفية استخراج البيانات منها وهذا مثال عليها

SqlCommand command = new SqlCommand(
          "SELECT email, FROM mohamed ;",
          connection);
        connection.Open();

        SqlDataReader reader = command.ExecuteReader();

        if (reader.HasRows)
        {
            while (reader.Read())
            {
                
                    SendEmail(Subject, Body, To, From);

            }
        }
        else
        {
            Console.WriteLine("No rows found.");
        }
        reader.Close();

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#5

لا تنسى أخي انشاء الاتصال connection أولا.

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#6

مشكورررين اخوانى الغالين 

صراحه بعد البحث المتواصل مع انى فاهم الفكره بس مش عارف انفذ الكود ازاى لكن الحمد لله حليتها

 

ولكن المشكله الحين فى المرفقات لا تصل واحيانا تصل للهوت ميل بس والجى ميل واى ميل تانى لا تصل

 

 ده الكود الى استعملته ياريت رايكم 

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Collections;
using System.Net.Mail;
using System.Net.Security;
using System.Configuration;

public partial class offers_send_mail : System.Web.UI.Page
{
    string cs = ConfigurationManager.ConnectionStrings["mohamedConnectionString"].ConnectionString.ToString();
    protected void Page_Load(object sender, EventArgs e)
    {

    }
        
    protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection cn = new SqlConnection(cs);
        cn.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.CommandType = CommandType.Text;
        cmd.Connection = cn;
        cmd.CommandText = "select email from customer";
        DataTable dt = new DataTable();
        dt.Load(cmd.ExecuteReader());

        SqlDataReader reader;
        reader = cmd.ExecuteReader();
        ArrayList emailArray = new ArrayList();

        while (reader.Read())
        {
            emailArray.Add(reader["email"]);
        }
        foreach (string email in emailArray)
        {



            const string username = "ambassador.travels.doha@gmail.com";
            const string password = "password";
            SmtpClient smtpclient = new SmtpClient();
            MailMessage mail = new MailMessage();
            MailAddress fromaddress = new MailAddress("ambassador.travels.doha@gmail.com");
            smtpclient.Host = "smtp.gmail.com";
            smtpclient.Port = 587;
            mail.From = fromaddress;
            mail.To.Add(email);
            mail.Subject = (txtsub.Text);
            mail.IsBodyHtml = true;
            if (FileUpload1.HasFile)
            {
                mail.Attachments.Add(new Attachment(FileUpload1.PostedFile.InputStream, FileUpload1.FileName));
            }
            SmtpClient smtp = new SmtpClient();


            smtpclient.EnableSsl = true;
            smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network;
            smtpclient.Credentials = new System.Net.NetworkCredential(username, password);
            smtpclient.Send(mail);
            lblMessage.Text = "Your email has been sent";

        }
        reader.Close();
        cn.Close();
    }

}

تم تعديل هذه المشاركة بواسطة nice_man_36 في 18 فبراير 2014 في 00:40

#7

أخي ممكن أنك عم تغلق االصفحة قبل أن يتم تحميل المرفق وارساله ضمن الرسالة يمكنك استخدام الجافا سكريبت أو AJAX حتى تتأكد من أن التجميل انتهى أو حتى أنتظر المتصفح حتى ينتهي من عمله ويعيد لك الرسالة Your email has been sent

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#8

لا اخى الكريم  الرساله تظهر فى label  بعد ارسال الرساله عادى جدا والصفحه تكون حملت والى استغربت ليه ان المرفقات توصل للهوت ميل اما لو ايميل ياهو او جى ميل او اى شىء اخلا لا تصل صراحه محتار 

مواضيع مشابهة