如何发邮件,asp.net附件 [英] How to send mail with attachment in asp.net
本文介绍了如何发邮件,asp.net附件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的尝试,我正在一个错误:
我SendMail.aspx
块引用><!DOCTYPE HTML PUBLIC - // W3C // DTD XHTML 1.0过渡// ENhttp://www.w3.org/TR/xhtml1/DTD/ XHTML1-transitional.dtd>
< HTML的xmlns =http://www.w3.org/1999/xhtml>
<头=服务器>
<标题>< /标题>
< /头>
<身体GT;
<表ID =form1的=服务器>
< DIV>
<表样式=边界:1px的固体ALIGN =中心>
&所述; TR>
&所述; TD列跨度=2ALIGN =中心>
< B>发送邮件使用asp.net&LT附件; / B>
< / TD>
< / TR>
&所述; TR>
&所述; TD>
从:
< / TD>
&所述; TD>
< ASP:文本框ID =txtFrom=服务器>< / ASP:文本框>
< / TD>
< / TR>
&所述; TR>
&所述; TD>
至:
< / TD>
&所述; TD>
< ASP:文本框ID =txtTo=服务器>< / ASP:文本框>
< / TD>
< / TR>
&所述; TR>
&所述; TD>
学科:
< / TD>
&所述; TD>
< ASP:文本框ID =txtSubject=服务器>< / ASP:文本框>
< / TD>
< / TR>
&所述; TR>
&所述; TD>
附加文件:
< / TD>
&所述; TD>
< ASP:文件上传ID =fileUpload1=服务器/>
< / TD>
< / TR>
&所述; TR>
< TD VALIGN =顶>
身体:
< / TD>
&所述; TD>
< ASP:文本框ID =txtBody=服务器的TextMode =多行栏目=30行=10>< / ASP:文本框>
< / TD>
< / TR>
&所述; TR>
&所述; TD>
< / TD>
&所述; TD>
< ASP:按钮的ID =btnSubmit按钮的文本=发送=服务器的OnClick =btnSubmit_Click/>
< / TD>
< / TR>
< /表>
< / DIV>
< /表及GT;
< /身体GT;
< / HTML>
我SendMail.aspx.cs
块引用>使用System.Net.Mail;
使用System.Net;保护无效btnSubmit_Click(对象发件人,EventArgs的发送)
{
邮件MAILMESSAGE新= MAILMESSAGE();
mail.To.Add(txtTo.Text);
//mail.To.Add(\"amit_jain_online@yahoo.com);
mail.From =新的MailAddress(txtFrom.Text);
mail.Subject = txtSubject.Text;
mail.Body = txtBody.Text;
mail.IsBodyHtml = TRUE; //采用FileUpload控件安装文件,并在文件中内存流
如果(fileUpload1.HasFile)
{
mail.Attachments.Add(新附件(fileUpload1.PostedFile.InputStream,fileUpload1.FileName));
}
SmtpClient SMTP =新SmtpClient();
//或者您的SMTP服务器地址 的NetworkCredential NC =新的NetworkCredential();
nc.UserName =myusername@gmail.com;
nc.Password =输入mypassword;
smtp.Credentials = NC;
smtp.Port = 587;
smtp.Host =smtp.gmail.com;
smtp.UseDefaultCredentials = FALSE;
//或者你的SMTP电子邮件ID和密码
smtp.EnableSsl = TRUE;
smtp.Send(邮件);
}
我得到这个错误不知道该怎么做:
SMTP服务器要求安全连接或客户端未通过身份验证。该>服务器响应为:5.5.1需要验证。
了解更多
块引用>解决方案尝试端口465,而不是587,请。
如果我没有记错,Gmail使用587 TLS和465用于SSL。THIS IS MY ATTEMPT I AM GETTING AN ERROR:
My SendMail.aspx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <table style="border: 1px solid" align="center"> <tr> <td colspan="2" align="center"> <b>Send Mail with Attachment using asp.net</b> </td> </tr> <tr> <td> From: </td> <td> <asp:TextBox ID="txtFrom" runat="server"></asp:TextBox> </td> </tr> <tr> <td> To: </td> <td> <asp:TextBox ID="txtTo" runat="server"></asp:TextBox> </td> </tr> <tr> <td> Subject: </td> <td> <asp:TextBox ID="txtSubject" runat="server"></asp:TextBox> </td> </tr> <tr> <td> Attach a file: </td> <td> <asp:FileUpload ID="fileUpload1" runat="server" /> </td> </tr> <tr> <td valign="top"> Body: </td> <td> <asp:TextBox ID="txtBody" runat="server" TextMode="MultiLine" Columns="30" Rows="10"></asp:TextBox> </td> </tr> <tr> <td> </td> <td> <asp:Button ID="btnSubmit" Text="Send" runat="server" OnClick="btnSubmit_Click" /> </td> </tr> </table> </div> </form> </body> </html>
My SendMail.aspx.cs
using System.Net.Mail; using System.Net; protected void btnSubmit_Click(object sender, EventArgs e) { MailMessage mail = new MailMessage(); mail.To.Add(txtTo.Text); //mail.To.Add("amit_jain_online@yahoo.com"); mail.From = new MailAddress(txtFrom.Text); mail.Subject = txtSubject.Text; mail.Body = txtBody.Text; mail.IsBodyHtml = true; //Attach file using FileUpload Control and put the file in memory stream if (fileUpload1.HasFile) { mail.Attachments.Add(new Attachment(fileUpload1.PostedFile.InputStream, fileUpload1.FileName)); } SmtpClient smtp = new SmtpClient(); //Or Your SMTP Server Address NetworkCredential nc = new NetworkCredential(); nc.UserName="myusername@gmail.com"; nc.Password="mypassword"; smtp.Credentials = nc; smtp.Port = 587; smtp.Host = "smtp.gmail.com"; smtp.UseDefaultCredentials = false; //Or your Smtp Email ID and Password smtp.EnableSsl = true; smtp.Send(mail); }
I am getting this Error dont know what to do:
The SMTP server requires a secure connection or the client was not authenticated. The >server response was: 5.5.1 Authentication Required. Learn more at
解决方案Try port 465 instead of 587, please. If I remember correctly, gmail uses 587 for TLS and 465 for SSL.
这篇关于如何发邮件,asp.net附件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文