MailMessage ASP.NET错误的电子邮件?

时间:2011-02-24 04:57:31

标签: c# asp.net visual-studio smtpclient mailmessage

我有一个按钮事件,无论用户输入什么,只需通过电子邮件发送给我。我得到的信息很好....主题....消息。但是来自电子邮件的部分只是从我自己展示(与它要去的那个相同)

怎么办我从他们输入的电子邮件地址显示它?

我正在使用gmail smtp到我设置的Gmail帐户。

MailMessage有4个参数(from,to,subject,body)

txtEmail.Text确实正确保存了他们的电子邮件地址。

protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
{
    this.toEmail = "myemail@gmail.com";
    this.subject = txtSubject.Text;
    this.fromEmail = txtEmail.Text;
    this.comment = txtComment.Text;
    message = new MailMessage(fromEmail, toEmail, subject, comment);
    smtp.Send(message);
    message.Dispose();
}

我尝试了类似下面这样的建议......并且仍在自己展示。

message = new MailMessage(ReplyToList[0].toString(), toEmail, subject, comment);

我甚至试过这样做,仍然是我自己的节目。我甚至通过代码确认,它持有不同的电子邮件地址,它是。

protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
{

    this.subject = txtSubject.Text;
    this.comment = txtComment.Text;

    to = new MailAddress("myemail@gmail.com");
    from = new MailAddress(txtEmail.Text);

    MailMessage message = new MailMessage(from, to);
    message.Subject = txtSubject.Text;
    message.Body = txtComment.Text;
    message.Headers.Add("Reply-To", txtEmail.Text);
    smtp.Send(message);
    message.Dispose();
}

在代码中我只需拨打SmtpClient client = new SmtpClient();

然后在我的web.config中我有

  <mailSettings>
    <smtp from="bob">
      <network host="smtp.gmail.com" port="587" userName="myemail" password="mypassword" enableSsl="true"/>
    </smtp>
  </mailSettings>

任何帮助?

3 个答案:

答案 0 :(得分:2)

正如James Manning所建议的那样,一个简单的方法就是在发送之前在电子邮件上设置回复标题,如下所示:

this.ReplyToList.Add(txtEmail.Text);

答案 1 :(得分:0)

尝试像这样创建你的SmtpClient(你没有包含它,所以这可能不是你的问题)。

    var client
            = new SmtpClient(SmtpHostname)
              {
                  DeliveryMethod = SmtpDeliveryMethod.Network,
                  Credentials = CredentialCache.DefaultNetworkCredentials
              };

答案 2 :(得分:0)