[英]How do I send e-mail using .NET 4 if smtp server requires authorization?
[英]How do I connect the SQL Server database to my e-mail system?
將我的數據庫連接到我的電子郵件系統時遇到問題。 我已經設置了一個數據庫連接和一個SqlDataSource
連接,但是我不確定如何在我的 aspx.cs 頁面上引用它,因為我想向存儲在數據庫中的電子郵件發送電子郵件。
<asp:SqlDataSource ID="emailresult" runat="server"
ConnectionString='<%$ ConnectionStrings:databaseconnection %>'
SelectCommand ="SELECT [ID], [email], [role] FROM [emailtest]">
</asp:SqlDataSource>
protected void EmailTestButton_Click(object sender, EventArgs e)
{
try
{
MailMessage mailMessage = new MailMessage();
mailMessage.To.Add("");
mailMessage.To.Add("");
mailMessage.From = new MailAddress("studiodefault@hotmail.com");
mailMessage.Subject = "Scrum Management Studio - Role Confirmation";
mailMessage.IsBodyHtml = true;
mailMessage.Body = "Hello, <br /><br /> You have been assigned the role of <b>[ROLE]</b> <br /><br /> \n\nKind Regards, <br />The Scrum Management Studio Team" ;
mailMessage.Priority = MailPriority.High;
SmtpClient smtpClient = new SmtpClient("smtp-isp.com");
smtpClient.Send(mailMessage);
Response.Write("Email has been successfully sent");
}
catch (Exception ex)
{
Response.Write("Could not send the email - error: " + ex.Message);
}
}
您可以將“emailresult”SqlDataSource 轉換為 DataTable 並從那里查詢
var dt = ((DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty)).Table;
var emails = from e in dt.AsEnumerable()
where e.Field<int>("ID") == 1
select e.email;
foreach (var email in emails)
{
mailMessage.To.Add(email);
}
正如其他人已經評論過的那樣,您必須將您想要做的事情分成不同的部分:
所以,你想知道如何從你的 sqldatasource 獲取電子郵件,這將是這樣的(未經測試):
DataView dv = emailresult.Select(DataSourceSelectArguments.Empty);
DataTable dt = dv.ToTable();
String Email = Convert.ToString(dt.rows[0]["Email"]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.