我如何设置 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 <myname@fastmail.us>">
<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 <myname@fastmail.us>">
我正在 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 <myname@fastmail.us>">
<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 <myname@fastmail.us>">