C# İle Mail Gönderimi

doganhrn
23-02-2021, 14:42   |  #1  
doganhrn avatarı
OP Taze Üye
Teşekkür Sayısı: 0
1 mesaj
Kayıt Tarihi:Kayıt: Şub 2021

Merhaba,

Altta paylaşmış olduğum metod ile,kullanıcılara sorumlu olduğu istekleri html tablo haline getirip mail atmaktayım.  Sql'den dönen stored procedure'ün nasıl bir sonuç verdiğini bir örnekle açıklamaya çalışayım. Örneğin sistemde iki gün önce açılan taleplerden,bugüne kadar hangilerine yorum yapılmadıysa onları getiriyor. Yani kullanıcılara göre bir filtreleme yapmadan hepsini. Fakat şu anda örneğin ahmet kişisinin sorumlu olduğu talepler,html tablosu olarak sadece ona gönderilmesi gerekirken,diğer kişilere de gitmekte. Anlayacağınız,mailler her kişiye kendi sorumluluğundaki talepleri içererek gitmeli. Bu konuda bir türlü neticeye ulaşamadım. Yardımlarınızı rica ederim. Teşekkürler.


private void SendMailIfNoComment()
    {
        using (SqlConnection conn = new SqlConnection(myDbConnect))
        {
            using (SqlCommand cmd = new SqlCommand("sp_CheckIfaCommentHasBeenMade", conn))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                    int mailsayac = 0;
                    DataSet ds = new DataSet();
                    SqlDataAdapter adp = new SqlDataAdapter();
                    adp.SelectCommand = cmd;
                    adp.Fill(ds);
                    string MailSubject = string.Empty, danismanMail = string.Empty, MailBody = string.Empty, IstekTarihi = string.Empty, MailFrom = "xxx";
                    int i;
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        MailSubject = "xxx";
                        MailBody = "";
                        MailBody += "İstek No";
                        MailBody += "İstek";
                        MailBody += "Sorumlu Danışman";
                        MailBody += "İstek Sorumlusu";
                        MailBody += "İstek Durumu";
                        MailBody += "İstek Tarihi";
                        MailBody += "";
                        mailsayac = 0;

                        foreach (DataRow row in ds.Tables[0].Rows)
                        {
                            danismanMail = row["DanismanMail"].ToString();
                                IstekTarihi = string.IsNullOrEmpty(row["istek_tarihi"].ToString()) == false ? string.Format("{0:dd.MM.yyyy}", row["istek_tarihi"]) : string.Empty;
                                MailBody += "<href="" + row["IstekNo"].ToString() + "\">" + row["IstekNo"].ToString() + "";
                                MailBody += "" + row["istek"].ToString() + "";
                                MailBody += "" + row["Danisman"].ToString() + "";
                                MailBody += "" + row["IstekSorumlusu"].ToString() + "";
                                MailBody += "" + row["durum"].ToString() + "";
                                MailBody += "" + IstekTarihi + "";
                                mailsayac++;
                                
                           
                        }
                        MailBody += "";

                            if (mailsayac > 0) MailUtils.SendMail(MailSubject, MailFrom, danismanMail.Split(';'), "smtp.yandex.com.tr", MailBody, true, Session["UserEmail"].ToString());

                }
            }
        }

    }