2013-06-01 5 views
-2

Я после этого: postC# отправка почты передача строки в тело

И через несколько секунд понял, что тело является постоянным, и я не могу передать строку к нему. Есть ли быстрый способ немного изменить этот код и получить то, что мне нужно?

+0

Вы можете использовать 'StringBuilder' !! –

+0

Почему минусы? Кажется логичным обратиться за помощью, если вы сталкиваетесь с трудностями, и исходный вопрос не содержит ответа, который я искал. И насколько я понимаю правила комментирования, я не должен был задавать этот вопрос в комментариях к оригиналу. –

ответ

1
public void PostMessage(string body,string subject) 
     { 
      var fromAddress = new MailAddress("[email protected]", "From Name"); 
      var toAddress = new MailAddress("[email protected]", "To Name"); 
      const string fromPassword = "fromPassword"; 

      var smtp = new SmtpClient 
      { 
       Host = "smtp.gmail.com", 
       Port = 587, 
       EnableSsl = true, 
       DeliveryMethod = SmtpDeliveryMethod.Network, 
       UseDefaultCredentials = false, 
       Credentials = new NetworkCredential(fromAddress.Address, fromPassword) 
      }; 
      using (var message = new MailMessage(fromAddress, toAddress) 
      { 
       Subject = subject, 
       Body = body, 
      }) 
      { 
       smtp.Send(message); 
      } 
     } 

вы можете назвать это следующим образом:

PostMessage("MAH BODY", "SUBJECT"); 
0

Вы удалите const немного ...

const string body = "Body"; 

превращается в:

string body = bodyPassedIn; //where bodyPassedIn = is being passed into the method 

Вам не нужно даже переменную на все:

using (var message = new MailMessage(fromAddress, toAddress) 
        { 
         Subject = subject, 
         Body = bodyPassedIn // here! 
        }) 
{ 
    smtp.Send(message); 
}