#c# #php #email
#c# #php #Адрес электронной почты
Вопрос:
У меня есть консольное приложение на C #, которое выводит данные, взятые из MySQL, однако вывод должен быть отправлен / перенаправлен на электронную почту через SMTP (Gmail). Возможно ли преобразовать все выходные данные в строку или поток, подобный PHP, который мог бы считывать все выходные данные и отображать их в электронном письме ниже messages
?
Пример кода:
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
string datetype = (myReader["Expiry_Date"].ToString());
DateTime dateformat = DateTime.Parse(datetype);
if(dateformat.Date <= calDate3b amp;amp; dateformat.Date>=timenow)
{
Console.WriteLine(myReader["Number"].ToString());
Console.WriteLine(myReader["Name"].ToString());
Console.WriteLine(myReader["Number_Yolo"].ToString());
Console.WriteLine(myReader["Date"].ToString());
Console.WriteLine();
}
}
Console.WriteLine("Your Message");
mail.Body = <contains the console output>;
Я пробовал StreamOutput
, но это не работает.
Ответ №1:
myReader = myCommand.ExecuteReader();
var message = new StringBuilder();
while (myReader.Read())
{
string datetype = (myReader["Expiry_Date"].ToString());
DateTime dateformat = DateTime.Parse(datetype);
if(dateformat.Date <= calDate3b amp;amp; dateformat.Date>=timenow)
{
message.AppendLine(myReader["Number"].ToString());
message.AppendLine(myReader["Name"].ToString());
message.AppendLine(myReader["Number_Yolo"].ToString());
message.AppendLine(myReader["Date"].ToString());
message.AppendLine();
}
}
Console.WriteLine(message.ToString());
mail.Body = message.ToString();
Комментарии:
1. Привет, есть ли необходимость закрыть stringbuilder? Можно ли узнать, где он перестанет читать?
2. Когда я попытался отправить письмо, в электронном письме не было содержимого, и когда я попытался распечатать содержимое консоли. WriteLine(сообщение. toString()); и mail. Body в нем тоже не было содержимого.
3. Просто заставил это работать. Извините за путаницу. Не видел часть AppendLine. Спасибо!