通过MVC4中的电子邮件发送用户列表

时间:2014-07-27 15:08:47

标签: c# asp.net-mvc asp.net-mvc-4

我试图通过电子邮件发送用户列表。它正常工作,但即使我的列表包含2个用户,收到电子邮件时也只显示1个用户。

这就是我填写列表的方式。这很好。

List<AccountCourse> ac = new AdminBL().GetAccountCourseByCourseId(crs.Id);
                var ListOfUsers = new List<string>();
                foreach(AccountCourse acrs in ac)
                {
                    string username = new AdminBL().GetAccountByAccountId(acrs.AccountId);
                    ListOfUsers.Add(username);
                }

这就是我试图用用户列表填充电子邮件正文的方式。这是不能正常工作的:

 for(int i = 0; i < ListOfUsers.Count; i++)
                msg.Body = "The users registered for this course are: " + ListOfUsers[i].ToString() + " ";

知道我怎么解决它吗?谢谢。

2 个答案:

答案 0 :(得分:1)

请尝试使用此代码:

msg.Body = "The users registered for this course are: " + String.Join(", ", ListOfUsers.ToArray()) + " ";

String.Join将使用您的用户名称并使用逗号和空格将它们附加在一起。为你的身体提供一根绳子;您的解决方案是每次循环替换正文,导致您的电子邮件正文只包含列表中的姓氏。

答案 1 :(得分:1)

实际上你没有连接你的msg.Body,这将起作用: -

msg.Body = "The users registered for this course are: ";
for(int i = 0; i < ListOfUsers.Count; i++)
msg.Body += ListOfUsers[i].ToString() + ", ";