我如何设置 asp.net 网络表单应用程序以在 windows 7 上发送 smtp 电子邮件以便我进行测试?

How do i set up asp.net web forms app to send smtp email on windows 7 so i can test?

我正在 windows 7 上的 asp.net 网络表单应用程序中尝试通过 smtp 发送电子邮件。我超时了。我正在使用我的 fastmail 帐户进行测试。在这一点上我很困惑,因为我不确定我是否还需要通过我的 iis 控制台管理器设置 smtp 电子邮件。这是我首先在控制台管理器中进行的设置。我对这个过程如何运作感到困惑。 asp.net 应用程序是否先发送到 smtp 电子邮件,然后再发送到 fastmail smtp?

smtp 电子邮件页面

     e-mail address: "is set to my fastmail address"
     deliver email to smtp server is checked.
     smtp server: mail.messagingengine.com   
     use localhost is unchecked
     port: 25   fastmail port is 465 but was told to set this to 25 
     authentication settings: i have this set to my email address and password   

这里是会话状态页面

    session state mode settings: in process
    cookie settings
    mode: use cookies
   name: asp.net_sessionid
   use hosting identity for impoersonation is checked

接下来是我在 asp.net 应用程序中的 web.config 文件

    <system.net>
      <mailsettings>
        <smtp deliveryMethod="Network" from"roger &lt;myname@fastmail.us&gt;">
          <network host="mail.messagingengine.com" userName="myname@fastmail.us" password="myemailpassword" port="465" enableSsl="true"  />
      </smtp>
     </mailSettings>
    </system.net>

接下来是我的c#背后代码

        protected void btn_send_Click(object sender, EventArgs e)
{
    try { 
    string sendername = txtbx_name.Text.ToString();
    MailMessage mymessage = new MailMessage();
    mymessage.Subject = txtbx_subject.Text.ToString();
    mymessage.Body = txtbx_message.Text.ToString();
    mymessage.From = new MailAddress("george@georgebush.me", sendername);
    mymessage.To.Add(new MailAddress("myemail address", "Roger"));        

    SmtpClient mysmtpclient = new SmtpClient();
    mysmtpclient.UseDefaultCredentials = false;
    mysmtpclient.DeliveryMethod   = SmtpDeliveryMethod.Network;

        mysmtpclient.Send(mymessage);            
        ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + myStringVariable + "');", true);
    }
    catch (Exception ex)
    {
        string message = ex.ToString();
        ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + message + "');", true);

    }
}

我假设这里不需要 html 和 css。任何帮助表示赞赏。我什至无法在 try catch 语句中捕获错误。我很迷茫,因为我是 asp.net.

的新手

我猜你的代码是正确的,你必须添加地址:

 mymessage.To.Add(new MailAddress("myemail address", "Roger"));  

而不是 "mymail address" 只需输入一个电子邮件地址

你检查过你的设置文件了吗,你忘记了下面的等号:

<smtp deliveryMethod="Network" from"roger &lt;myname@fastmail.us&gt;">