无法从文本框传递变量

时间:2013-04-13 19:14:41

标签: c# email smtp gmail

在线

const string subject = "hello" + textBox1.Text;

它不打印textBox1.Text的值,但我打印单词“textBox1.Text”。我该如何解决?

var fromAddress = new MailAddress("samuimark@gmail.com", "samui mail");
var toAddress = new MailAddress("teeramail@gmail.com", "To Name");
const string fromPassword = "t429";
const string subject = "hello" + textBox1.Text  ;
const string body = "you have a mail";

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);
}

3 个答案:

答案 0 :(得分:4)

而不是

const string subject = "hello" + textBox1.Text  ;

使用

string subject = "hello" + textBox1.Text;

答案 1 :(得分:0)

textBox1.Text不是常量表达式。将其值赋予字符串而不是const字符串

string subject = "hello" + textBox1.Text;

答案 2 :(得分:0)

而不是使用

Subject = subject,
Body = body

我建议您将其更改为

Subject = subject.Text,
Body = body.Text

只需将“subject.Text”和“body.Text”更改为您的文本框的名称 但你必须保留.Text