C # преобразование консоли.Writeline выводит в строку для электронной почты

#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. Спасибо!