asp.net 2.0 如何发送电子邮件
asp.net 2.0 如何发送电子邮件?本人用了n多方法,都提示错误,请指教!多谢各位了!!
[解决办法]
system.web.mail 吧 记不太清了 这个是.net自带的
或者 可以用Jmail
[解决办法]
{
MailMessage mailMsg = new MailMessage(from,to);
mailMsg.IsBodyHtml = true;
mailMsg.Body = "asdfasdf <hr> ";
mailMsg.Subject = "ceshie ";
SmtpClient client = new SmtpClient( "smtp.126.com ");//smpt服务器
client.Credentials = new NetworkCredential( "用户名 ", "密码 ");
client.Send(mailMsg);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
[解决办法]
JMAIL实现我有源码
我给你
经过测试没问题可以多发!
1.安装jmail4.3
2.找到jmail.dll(Program Files\Dimac\w3JMail4下)
3.执行Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin\ildasm.exe(可使用Visual Studio .Net 2003 命令提示),
格式如下:tlbimp c:\Program Files\Dimac\w3JMail4\jmail.dll /out:myJmail.dll /namespace:myJmail
就是我在Visual Studio .Net 2005命令提示下编译执行 tlbimp c:\Program Files\Dimac\w3JMail4\jmail.dll /out:myJmail.dll /namespace:myJmail
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Web.Mail;
using System.Web.Util;
using myJmail;
using Tool;
using Manager;
using Entity;
public partial class UserControls_Jmaill : System.Web.UI.UserControl
{
string strCurrentPath = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSend_Click(object sender, EventArgs e)
{
try
{
this.lblTitle.Text = "发送邮件控件 ";
myJmail.Message Jmail = new myJmail.Message();
DateTime t = DateTime.Now;
String Subject = this.txtTitle.Text;
String body = this.txtContent.Text;
string FromEmail = this.txtFormEmail.Text.Trim();//你的email
String ToEmail = this.txtToEmail.Text;//对方的email
String AddAttachment = this.FileUploadSubject.PostedFile.FileName;
//Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
Jmail.Silent = true;
//Jmail创建的日志,前提loging属性设置为true
Jmail.Logging = true;
//字符集,缺省为 "US-ASCII "
Jmail.Charset = "GB2312 ";
//信件的contentype. 缺省是 "text/plain ") : 字符串如果你以HTML格式发送邮件, 改为 "text/html "即可。
// Jmail.ContentType = "text/html ";
ToEmail = ToEmail.Replace( "\n ", " ").Replace( " ", " ");
string[] str = ToEmail.Split( ', ');
for (int i = 0; i < str.Length; i++)
{
//添加收件人
Jmail.AddRecipient(str[i], " ", " ");
Jmail.From = FromEmail;
//发件人邮件用户名
Jmail.MailServerUserName = FromEmail;
//发件人邮件密码
Jmail.MailServerPassWord = " ";//FromEmail邮箱的登陆密码
//设置邮件标题
Jmail.Subject = Subject;
//邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg ",true,null);)就可以搞定了。[注]:加了附件,讲把上面的Jmail.ContentType= "text/html ";删掉。否则会在邮件里出现乱码。
Jmail.AddAttachment(AddAttachment, true, null);
//邮件内容
Jmail.Body = body + t.ToString();
//加密文件
//Jmail.PGPEncrypt = true;
//Jmail发送的方法
Jmail.Send( "smtp.163.com ", false);
Jmail.ClearAttachments();
Jmail.ClearRecipients();
}
Jmail.Close();
}
catch (Exception ex)
{
this.lblMessage.Text = ex.Message;
}
}
}
配置生成好新的MYJAMIL.DLL 是在Microsoft .NET Framework SDK v2.0里面的SDK 命令提示里面配置DLL配置好了才能用
[解决办法]
建议楼主使用第三方控件,如 jmail 组件,我目前也一直在使用它,还不错,以前利用的也是.net系统自带的mail类,但实际效果有时不怎么理想.
[解决办法]
我用的也是2.0 就是这么做的,你试试。
txtContent.Text 内容
Imports System.Net.Mail
Partial Class Mail_SendMail_WithMailObject
Inherits System.Web.UI.Page
Protected Sub btnSend_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSend.Click
Dim objMail As New MailMessage
objMail.From = New MailAddress( "发件人邮箱地址 ")
objMail.To.Add(收件人邮件地址)
objMail.Subject.Insert(0, txtContent.Text)
objMail.Body = txtContent.Text
Dim smtp As New SmtpClient()
smtp.DeliveryMethod = SmtpDeliveryMethod.Network
smtp.Send(objMail)
End Sub
End Sub
End Class