C# 发送邮件时出错
使用制度; 使用系统集合; 使用系统配置; 使用系统数据; 使用System.Linq; 使用System.Web; 使用System.Web.Security; 使用System.Web.UI; 使用System.Web.UI.HTMLControl; 使用System.Web.UI.WebControl; 使用System.Web.UI.WebControl.WebParts; 使用System.Xml.Linq; 使用System.Net.MailC# 发送邮件时出错,c#,asp.net,C#,Asp.net,使用制度; 使用系统集合; 使用系统配置; 使用系统数据; 使用System.Linq; 使用System.Web; 使用System.Web.Security; 使用System.Web.UI; 使用System.Web.UI.HTMLControl; 使用System.Web.UI.WebControl; 使用System.Web.UI.WebControl.WebParts; 使用System.Xml.Linq; 使用System.Net.Mail public partial class
public partial class adminEmail : System.Web.UI.Page
{
string address = null;
string to = null;
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i < GridView1.Rows.Count; i++)
{
if (address == null)
address = GridView1.Rows[0].Cells[1].Text;
else
address = address + "," + GridView1.Rows[i].Cells[1].Text;
Label2.Text = address;
string to = address;
txtTo.Text = to;
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
string from = ".com"; //Replace this with your own correct Gmail Address
//Replace this with the Email Address to whom you want to send the mail
Label1.Text = "Mail sent successfully";
Label1.Visible = true;
MailMessage mail = new System.Net.Mail.MailMessage();
Label2.Text = address;
/*gettting error here*/ mail.To.Add(new MailAddress(to));
mail.From = new MailAddress(from, "Check My Ads", System.Text.Encoding.UTF8);
mail.Subject = txtSubject.Text;
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.Body = Editor1.ScriptPath;
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.IsBodyHtml = true;
mail.Priority = MailPriority.High;
SmtpClient client = new SmtpClient();
//Add the Creddentials- use your own email id and password
client.Credentials = new System.Net.NetworkCredential(from, "password");
client.Port = 587; // Gmail works on this port
client.Host = "smtp.gmail.com";
client.EnableSsl = true; //Gmail works on Server Secured Layer
try
{
client.Send(mail);
}
catch (Exception ex)
{
Exception ex2 = ex;
string errorMessage = string.Empty;
while (ex2 != null)
{
errorMessage += ex2.ToString();
ex2 = ex2.InnerException;
}
}
}
protected void btnCancel_Click(object sender, EventArgs e)
{
}
}
public部分类管理员电子邮件:System.Web.UI.Page
{
字符串地址=空;
字符串to=null;
受保护的无效页面加载(对象发送方、事件参数e)
{
对于(int i=0;i
还有我的.aspx代码
<%@ Page Language="C#" MasterPageFile="~/Admin.master" AutoEventWireup="true" CodeFile="adminEmail.aspx.cs" Inherits="adminEmail" Title="Untitled Page" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit.HTMLEditor"
TagPrefix="cc1" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
<div>
<center>
<table style="width: 652px; height: 504px">
<tr>
<td colspan="2">
<span style="color: activecaption"><strong><em><span style="font-size: 16pt">
Mail Sender</span></em></strong>
</span>
</td>
</tr>
<tr>
<td style="height: 26px" >
<strong><span style="color: activecaption">
Enter UserName</span></strong>
</td>
<td align=left style="height: 26px">
<asp:TextBox ID="txtUserName" runat="server" Width="169px"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<strong><span style="color:Gray"><span style="color: activecaption">
Enter Password</span> </span></strong>
</td>
<td align=left>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" Width="168px"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<strong><span style="color: activecaption">
To:</span></strong>
</td>
<td align=left>
<asp:TextBox ID="txtTo" runat="server" Width="169px" Height="22px"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<strong><span style="color: activecaption">
Subject:</span></strong>
</td>
<td align=left>
<asp:TextBox ID="txtSubject" runat="server" Width="168px"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<strong><span style="color: activecaption">
Body: </span></strong>
</td>
<td align="left">
<cc1:Editor ID="Editor1" runat="server" ButtonMouseOverBorderColor="GradientInactiveCaption" ButtonMouseOverColor="ActiveCaption" DialogButtonBarColor="ActiveCaption" DialogHeadingColor="ActiveCaption" DialogSelectedTabColor="ActiveCaption" DialogUnselectedTabColor="ActiveCaption" EditorBorderColor="ActiveCaption" SelectedTabBackColor="ActiveCaption" SelectedTabTextColor="InactiveCaptionText" TabBackColor="ActiveCaption" TabMouseOverColor="GradientActiveCaption" ToolbarColor="GradientActiveCaption" />
</td>
</tr>
<tr>
<td colspan="2">
<asp:Button ID="btnSubmit" runat="server" Text="SUBMIT" Font-Bold="True" ForeColor="ActiveCaption" OnClick="btnSubmit_Click" />
<asp:Button ID="btnCancel" runat="server" Text="RESET" CausesValidation="False" Font-Bold="True" ForeColor="ActiveCaption" OnClick="btnCancel_Click" UseSubmitBehavior="False" />
<br />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="Label" Visible=false></asp:Label>
<br />
<br />
<br />
<br />
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="username" DataSourceID="SqlDataSource1" Width="223px">
<Columns>
<asp:BoundField DataField="username" HeaderText="username" ReadOnly="True"
SortExpression="username" />
<asp:BoundField DataField="emailid" HeaderText="emailid"
SortExpression="emailid" />
<asp:BoundField DataField="gender" HeaderText="gender"
SortExpression="gender" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:eclassConnectionString2 %>"
SelectCommand="SELECT [username], [emailid], [gender] FROM [userdetails] WHERE ([status_user] = @status_user)">
<SelectParameters>
<asp:Parameter DefaultValue="new" Name="status_user" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
</td>
</tr>
</table>
</center>
</div>
</asp:Content>
邮件发件人
输入用户名
输入密码
收件人:
主题:
正文:
请告诉我什么是我的错
/*gettting error here*/ mail.To.Add(new MailAddress(to));
您从未在任何地方将
的值设置为。在Page\u Load
方法中,有一个名为to
的局部变量,它隐藏了类成员。将您的代码更改为适当的值,然后查看您的结果。您尚未将定义为
/*gettting error here*/ mail.To.Add(new MailAddress(to));
试试这个:
mail.To.Add(new MailAddress(txtTo.Text));
或
用以下代码替换您的“发送”代码:
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential("myusername@gmail.com", "mypwd"),
EnableSsl = true
};
client.Send("myusername@gmail.com", "myusername@gmail.com", "testSubject", "testbody");
你得到的错误是什么?但是即使在做了所有这些之后,我的邮件仍然没有被发送……我是否使用了正确的方式客户端。发送(from,to,txtSubject.Text,Editor1.ToString());此处获取错误System.InvalidOperationException:未指定SMTP主机。在重新检查我的代码后,错误仍然得到解决,但我的邮件未被发送..任何人能否告诉我原因..@shweta,放置断点并逐步检查代码。您会注意到,您正在捕获并基本上接受一个异常。通过单步遍历代码,找出代码的去向,您可能会看到有什么问题。这样做的目的是缩小问题的范围,然后发布一个问题,这样就可以让某人在不必查看代码墙的情况下快速提供准确的回答。是的,谢谢。。我做到了。。问题是我没有使用正确的密码。。。client.Credentials=news
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential("myusername@gmail.com", "mypwd"),
EnableSsl = true
};
client.Send("myusername@gmail.com", "myusername@gmail.com", "testSubject", "testbody");