我是ASP.NET C#领域的新手。我打算通过ASP.NET C#发送邮件,这是来自ISP的SMTP地址:
smtp-proxy.tm.net.my
以下是我尝试执行的操作,但失败了。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="SendMail" %> <html> <head id="Head1" runat="server"><title>Email Test Page</title></head> <body> <form id="form1" runat="server"> Message to: <asp:TextBox ID="txtTo" runat="server" /><br> Message from: <asp:TextBox ID="txtFrom" runat="server" /><br> Subject: <asp:TextBox ID="txtSubject" runat="server" /><br> Message Body:<br> <asp:TextBox ID="txtBody" runat="server" Height="171px" TextMode="MultiLine" Width="270px" /><br> <asp:Button ID="Btn_SendMail" runat="server" onclick="Btn_SendMail_Click" Text="Send Email" /><br> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> </form> </body> </html>
下面是我的代码背后:
using System; using System.Web.UI.WebControls; using System.Net.Mail; public partial class SendMail : System.Web.UI.Page { protected void Btn_SendMail_Click(object sender, EventArgs e) { MailMessage mailObj = new MailMessage( txtFrom.Text, txtTo.Text, txtSubject.Text, txtBody.Text); SmtpClient SMTPServer = new SmtpClient("127.0.0.1"); try { SMTPServer.Send(mailObj); } catch (Exception ex) { Label1.Text = ex.ToString(); } } }
PS:对不起,我无法理解接收方/发送方SMTP的概念,因此,我试图从此处理解整个概念。
只需通过下面的代码。
SmtpClient smtpClient = new SmtpClient("mail.MyWebsiteDomainName.com", 25); smtpClient.Credentials = new System.Net.NetworkCredential("info@MyWebsiteDomainName.com", "myIDPassword"); // smtpClient.UseDefaultCredentials = true; // uncomment if you don't want to use the network credentials smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; smtpClient.EnableSsl = true; MailMessage mail = new MailMessage(); //Setting From , To and CC mail.From = new MailAddress("info@MyWebsiteDomainName", "MyWeb Site"); mail.To.Add(new MailAddress("info@MyWebsiteDomainName")); mail.CC.Add(new MailAddress("MyEmailID@gmail.com")); smtpClient.Send(mail);