在.net中使用jmail发送Email(部分代码)

1安装jmail4.3
2.找到jmail.dll (E:\ProgramFiles\JMail4下)
3.执行Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin\ildasm.exe(可使用Visual Studio .Net 2003 命令提示),
格式如下:tlbimp E:\ProgramFiles\JMail4\jmail.dll /out:myJmail.dll /namespace:pu1_erp
生成myJmail.dll后,copy到web的根目录的bin目录。
4.使用时先加myJmail.dll引用

部分代码:
Jmail_Send.aspx.cs:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using pu1_erp; //加它,原因是生成myjmail.dll时
using System.IO;


namespace Pu1_Erp.Email
{
public class Jmail_Send : System.Web.UI.Page
{
...................;
string smtp; //加一个全局变量
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Label7.Text="'用户名'与'密码'是相对发邮件者而言的";
}

public void send()
{
try
{
pu1_erp.MessageClass Jmail=new pu1_erp.MessageClass() ;
Jmail.Silent = true ;
Jmail.FromName =user_name.Text.Trim();
Jmail.From = user_name.Text.Trim()+mail_ddlst.SelectedItem.Value.Trim() ;
Jmail.MailServerUserName =user_name.Text.Trim() ;
Jmail.MailServerPassWord =user_pwd.Text.Trim();
Jmail.Priority=3;
Jmail.Subject =Subject_txt.Text ;
// 邮件内容的空格、回车等替换
string strNews;
strNews=Body_txt.Text;
strNews=strNews.Replace("\r","
");
strNews=strNews.Replace("\0","  ");
strNews=strNews.Replace("\t","    ");
strNews=strNews.Replace(" ","  ");
//
Jmail.HTMLBody=strNews ;
//Jmail.ContentType ="text/html" ; //若发送附件则删除本句
Jmail.Charset ="gb2312" ;
Jmail.Encoding ="base64" ;
Jmail.ISOEncodeHeaders = false;

string file;
file=filepath_txt.Text.Trim();
if(file!="")
{
Jmail.AddAttachment(file,true,null);//
}
string mail;
mail=recipient.Text.Trim();
Jmail.AddRecipient(mail,"","") ;
switch(mail_ddlst.SelectedItem.Text.Trim())
{
case "TPCO":
smtp="dns.tpco.com.cn";
break;
case "163信箱":
smtp="smtp.163.com";
break;
case "新浪100":
smtp="smtp.sina100.com";
break;

}
Jmail.Send(smtp,false);
ok_error.Text="Ok! 发件人:"+user_name.Text.Trim()+mail_ddlst.SelectedItem.Value.Trim();
ok_error.ForeColor=Color.Green;
}
catch
{
ok_error.Text="Error!";
ok_error.ForeColor=Color.Red;
}
ok_error.Visible=true;
}


private void Send_mail_Click(object sender, System.EventArgs e)
{
if(recipient.Text!=""){
send();
}
else{
ok_error.Text="请写好'收件人'地址!";
ok_error.ForeColor=Color.Red;
ok_error.Visible=true;
}
recipient.Text="";
Subject_txt.Text="";
Body_txt.Text="";
filepath_txt.Text="";
}

private void Attachment_Click(object sender, System.EventArgs e)
{
Label6.Visible=true;
//filepath_txt.Text="c:\\test.jpg";
filepath_txt.Text=File1.PostedFile.FileName.ToString();

}

private void Reset_write_Click(object sender, System.EventArgs e)
{
Body_txt.Text="";
//Body_txt.set
}

}
}

转载于:https://www.cnblogs.com/Cien/archive/2008/10/09/1307483.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jmail  jmail是一种服务器端的邮件发送组件,和个人用的客户端邮件软件不一样的。jmail是在服务器上给程序用来发邮件用的,除了软件编程人员,其他人一般平常用不上。   jmail是一个第三方邮件操作组件,通常位于web服务器端,和站点程序紧密配合来接收及提交邮件到邮件服务器的控件,让网站拥有发送邮件既接收邮件的功能   与此相同的还有CDONTS.NewMail,Persits.MailSender,IISmail.Iismail等等,他们唯一区别就是jmail只需要注册一个dll组件即可被调用,而其他则需要在iis上设置发布smtp服务器   (1)Body(信件正文) : 字符串   如:JMail.Body = "这里可以是用户填写的表单内容,可以取自Form。"   (2)Charset(字符集,缺省为"US-ASCII") : 字符串   如:JMail.Charset = "US-ASCII"   (3)ContentTransferEncoding : 字符串   指定内容传送时的编码方式,缺省是"Quoted-Printable"   如:JMail.ContentTransferEncoding = "base64"   (4)ContentType(信件的contentype. 缺省是"text/plain") : 字符串   如果你以HTML格式发送邮件, 改为"text/html"即可。   如:JMail.ContentType = "text/html"   (5)Encoding : 字符串   设置附件编码方式(缺省是"base64)。 可以选择使用的是"base64", "uuencode" or "quoted-printable" 如:JMail.Encoding = "base64"   (6)Log(Jmail创建的日志,前提loging属性设置为true,见下面) : 字符串   如:使用Response.Write( JMail.Log )语句列出日志信息。   (7)Logging(是否使用日志) : 布尔型   如:JMail.Logging = true   (8)Recipients : 字符串   只读属性,返回所有收件人   如:Response.Write( "" + JMail.Recipients + "" );   (9)ReplyTo(指定别的回信地址) : 字符串   如:JMail.ReplyTo = "qiao198@hotmail.com"   (10)Sender( 发件人的邮件地址) : 字符串   如:JMail.Sender = "qiao198@21cn.com"   (11)SenderName(发件人的姓名) : 字符串   如:JMail.SenderName = "一克"   (12)ServerAddress(邮件服务器的地址) : 字符串   你可以指定多个服务器,用分号点开。可以指定端口号。   如果serverAddress保持空白,JMail会尝试远程邮件服务器,然后直接发送到服务器上去。   如:JMail.ServerAddress = "mail.21cn.net.cn"   (13)Subject(设定邮件的标题,可以取自Form。):字符串   如:JMail.Subject = "客户反馈表单"   (14)添加文件附件到邮件   如:JMail.AddAttachment( "c:anyfile.zip" )   (15)AddCustomAttachment( FileName, Data )   添加自定义附件.   如:JMail.AddCustomAttachment( "anyfile.txt", "Contents of file" );   (16)AddHeader( Header, Value )   添加用户定义的信件标头。   如:JMail.AddHeader( "Originating-IP","192.158.1.10" );   (17)AddRecipient(收件人):字符串   如:JMail.AddRecipient( "qiao198@hotmail.com" );   (18)AddRecipientBCC( Email ),密件收件人:   如:JMail.AddRecipientBCC( "qiao198@hotmail.com" );   (19)AddRecipientCC( Email ) ,抄送收件人:   如:JMail.AddRecipientCC( "" )   (20)AddURLAttachment( URL, 文档名)   下载并添加一个来自url的附件. 第二个参数"文档名", 用来指定信件收到后的文件名。   如:JMail.AddURLAttachment( "http://www.chinabs.net/jmail.zip", "jmail" )   (21)AppendBodyFromFile( 文件名) ,将文件作为信件正文:   如:JMail.AppendBodyFromFile( "c:anyfile.txt" )   (22)AppendText( Text )   追加信件的正文内容,比如增加问候语或者其它信息。   如:JMail.AppendText( "欢迎访问本站!" )   (23)Close() ,强制JMail关闭缓冲的与邮件服务器的连接:   如:JMail.Close()   (24)发送【调用格式:objJMail.Send(SMTPServerAddress[:Port])】   例:JMail.Send("smtp.163.com")   Jmail具有以下特点:   (1)可以发送附件;   (2)详细日志能力,便于你查看问题所在;   (3)设置邮件发送的优先级;   (4)支持多种格式的邮件发送,比如说以HTML或者TXT的方式发送邮件。这是个免费的组件。   (5)密件发送/(CC)抄送/紧急信件发送能力;   (6)最关键的就是--免费的组件,不必花钱,所以非常值得使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值