PDA

View Full Version : چطوری میشه تو قسمت body در بدنه ارسال ایمیل یه حلقه را جا داد؟



RIG000
دوشنبه 17 آذر 1393, 14:43 عصر
سلام این کد های من که میخام یه ایمیل رو بفرستم برای مشتری و تو بادی باید مقدار هایی رو که از دیتابیس Select کردم رو نشون بدم . اما گویا نمیشه تو بادی foreach زد ....
اگه به بدنه بادی ایمیل من دقت کنید نوشتم Selcet.tolist که میخام این رو بفزستم اما نمیدونم چطوری مقدار هاش رو بخونم. یه خورده گیج شدم!!!



var select = (from o in db.Orders
join d in db.OrderDetails on o.OrderID equals d.OrderID
join P in db.Products on d.ProductID equals P.ProductID
where o.OrderID == id//OId
select new
{
P.ProductTitle,
P.ProductDownloadLink
}).ToList().Distinct();
try
{
string adminemail = "admin@gmail.com";
string adminpassword = "adminpass";


var loginInfo = new NetworkCredential(adminemail, adminpassword);
var msg = new MailMessage();
var smtpClient = new SmtpClient("smtp.gmail.com", 587);


msg.From = new MailAddress(email);
//msg.To.Add(new MailAddress("saadati1368@yahoo.com"));
msg.To.Add(new MailAddress("user@gmail.com"));
msg.Subject = "hi";
msg.Body = "resid?"
+
select.ToList()
+" are?";
msg.IsBodyHtml = true;


smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = loginInfo;
smtpClient.Send(msg);


}
catch (Exception ex)
{
return null;
}

RIG000
دوشنبه 17 آذر 1393, 15:13 عصر
من به این شکل نوشتم اما فقط اولی رو برام send میکنه. یعنی اگه تو Select من 10 مورد باشه ... همون مورد یک رو ارسال میکنه ...

foreach (var item in select) {
msg.Body = "seri 1"
+
item.ProductTitle + item.ProductDownloadLink
+ " resid";
}

RIG000
دوشنبه 17 آذر 1393, 21:06 عصر
الان به تعداد هر محصولی که خریده شده مجبورم شدم یه ایمیل بفرستم برای کاربر.. .
یعنی اگه 3 محصول خریده باشه 3 ایمیل برای کاربر می فرستیم .
در صورتی که من می خاستم یه فاکتور که 3 محصول مثلا" داره رو یک دفعه یک بار ایمیل کنم ...

RIG000
دوشنبه 17 آذر 1393, 21:13 عصر
البته اینم کدشه ..

foreach (var item in select) {
var x = item.ProductTitle;
msg.Body = "seri 1"
+
item.ProductTitle + item.ProductDownloadLink
+ " resid";
msg.IsBodyHtml = true;


smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = loginInfo;
smtpClient.Send(msg);
}