Tengo un requisito para enviar los resultados de una consulta en correos electrónicos. Estoy utilizando dos métodos:Enviar una tabla en el correo electrónico
GetDataTable (): para ejecutar la consulta y obtener la tabla de datos (que tiene que ser enviado por correo electrónico)
SendAutomatedEmail(): enviar correos electrónicos automatizados.
Problema: necesito enviar la tabla de datos o la tabla html en el correo electrónico, algo así como el código a continuación. esto funciona bien para una cadena en lugar de dataTable
public static void Main(string[] args)
{
DataTable datatable = GetDataTable();
SendAutomatedEmail(datatable);
}
public static DataTable GetDataTable(string CommandText)
{
string cnString = ConfigurationManager.ConnectionStrings["Connection2"].ConnectionString;
SqlConnection sqlConnection = new SqlConnection(cnString);
string CommandText = "select * from dbo.fs010100 (nolock)";
SqlCommand sqlCommand = new SqlCommand(CommandText, sqlConnection);
SqlDataAdapter sqlDataAdapter = new System.Data.SqlClient.SqlDataAdapter();
sqlDataAdapter.SelectCommand = sqlCommand;
DataTable dataTable = new DataTable();
dataTable.Locale = System.Globalization.CultureInfo.InvariantCulture;
// Adds or refreshes rows in the DataSet to match those in the data source
try
{
sqlDataAdapter.Fill(dataTable);
sqlConnection.Close(dataTable);
}
catch (Exception _Exception)
{
sqlConnection.Close();
//Console.WriteLine(_Exception.Message);
return null;
}
return dataTable;
}
public static void SendAutomatedEmail(DataTable dt, string recipient = "[email protected]")
{
try
{
string mailServer = "server.com";
MailMessage message = new MailMessage(
"[email protected]",
recipient,
"Test Email",
dt.ToString()
);
SmtpClient client = new SmtpClient(mailServer);
var AuthenticationDetails = new NetworkCredential("[email protected]", "password");
client.Credentials = AuthenticationDetails;
client.Send(message);
}
catch (Exception e)
{
}
}
¿la mesa tiene que estar en el cuerpo del correo electrónico? – AllenG
sí, el contenido del correo electrónico es la tabla – 14578446
Usted sólo puede escribir el html prima para la construcción de una mesa, y lo puso en el cuerpo del correo electrónico, por ejemplo .: