在项目中使用JMail发送邮件
1.添加JMail组件:在vs的解决方案资源管理器中,右键添加引用,选择浏览,选择jmail.dll文件,在Bin文件夹中就可以看到添加的JMail组件.
2.注册JMail组件:开始-->运行-->输入如:regsvr32 D:\DotNet相关插件和脚本\jmail.dll
Regsvr32 解释:
这个命令行工具将 dll 文件注册为注册表中的命令组成。
语法
regsvr32 【/u】 【/s】 【/n】 【/i【:cmdline】】 dllname
参数
/u
未注册服务器。
/s
指定 regsvr32 安静运行,且不显示任何消息框。
/n
指定不调用 DllRegisterServer。此选项必须与 /i 共同使用。
/i:cmdline
调用 DllInstall 将它传递到可选的 【cmdline】。在与 /u 共同使用时,它调用 dll 卸载。
dllname
指定要注册的 dll 文件名。
/?
在命令提示符显示帮助。
完成1,2部操作后,我们来编写代码:
界面参考:

- //点击发送邮件
- protected void btnTranSmit_Click(object sender, EventArgs e)
- {
- try
- {
- //调用发送邮件的方法
- SendEmail(txtSender.Text, txtSenderName.Text, txtTransmitName.Text, txtTransmitPassword.Text, txtReceiver.Text, txtSubject.Text, txtContent.Text, txtServer.Text);
- }
- catch (Exception ex)
- {
- Response.Write(ex.Message);
- }
- }
- /// <summary>
- /// 使用Jmail发送邮件的方法
- /// </summary>
- /// <param name="sender">发件人邮箱</param>
- /// <param name="senderName">发件人姓名</param>
- /// <param name="TransmitName">发送邮件人的邮箱的登录名</param>
- /// <param name="TransmitPassWord">发送邮件人的邮箱密码</param>
- /// <param name="Receiver">收件人的地址</param>
- /// <param name="subject">邮件的主题</param>
- /// <param name="Content">邮件的内容</param>
- /// <param name="ServerHost">服务器的地址</param>
- private void SendEmail(String sender, String senderName, String TransmitName, String TransmitPassWord, String Receiver, String subject, String Content, String ServerHost)
- {
- //创建Jmail对象
- MessageClass jMessage = new MessageClass();
- //设置编码
- jMessage.Charset = "GB2312";
- //设置邮件头不使用ISO-8859-1的编码
- jMessage.ISOEncodeHeaders = false;
- //设置发送的邮件的邮箱地址
- jMessage.From = sender;
- //设置发件人姓名
- jMessage.FromName = senderName;
- //设置主题
- jMessage.Subject = subject;
- //设置发送邮件的邮箱或者邮件服务器登陆名
- jMessage.MailServerUserName = TransmitName;
- //设置发送邮件的邮箱或者邮件服务器密码
- jMessage.MailServerPassWord = TransmitPassWord;
- //添加接收邮件的邮箱地址
- jMessage.AddRecipient(Receiver, "", "");
- //设置发送邮件正文
- jMessage.Body = Content;
- //判断上传控件是否为空
- if (fluAttachMent.HasFile)
- {
- String fileName = fluAttachMent.PostedFile.FileName;
- //添加附件
- jMessage.AddAttachment(fileName, true, "");
- }
- //发送邮件
- if (jMessage.Send(ServerHost, false))
- {
- Response.Write("<script>alert('发送成功!');</script>");
- }
- else
- {
- Response.Write("<script>alert('发送失败!');</script>");
- }
- }
在项目中使用JMail发送邮件的更多相关文章
- Maven项目中的pom.xml详解【转】
什么是pom? pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url, ...
- J2EE项目中后台定时运行的程序
转自:http://www.2cto.com/kf/201311/260676.html 在开发J2EE项目中,有时候需要在后台定时执行一些代码. 比如定时对web数据建立倒排索引.定时发送邮件.定时 ...
- SQL ALTER TABLE 语句在项目中的使用
1.在实际的项目开发过程中,之前已经创建好的实体类可能需要增加/删除字段,亦或是更改已有字段的属性,比如主键的增长策略从自增型改为UUID型,那么就会涉及到 SQL 中 alter table 语句的 ...
- 项目中添加Log4J支持
首先,在项目中的classes 中新建立一个log4j.properties文件即可: 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对Logger.Append ...
- 项目中使用Quartz集群分享--转载
项目中使用Quartz集群分享--转载 在公司分享了Quartz,发布出来,希望大家讨论补充. CRM使用Quartz集群分享 一:CRM对定时任务的依赖与问题 二:什么是quartz,如何使用, ...
- ThinkPHP 中使用 PHPMailer 发送邮件 支持163和QQ邮箱等
[摘要]ThinkPHP是一个开源的PHP框架, 是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.本文介绍ThinkPHP 中使用 PHPMailer 发送邮件. PHP是自带可以发送邮件的Ma ...
- 在Thinkphp3.2 中使用PHPMailer 发送邮件
phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,有需要了解的朋友可参考. phpmailer发送邮件功能很强大,今天真 ...
- Redis的安装以及在项目中使用Redis的一些总结和体会
第一部分:为什么我的项目中要使用Redis 我知道有些地方没说到位,希望大神们提出来,我会吸取教训,大家共同进步! 注册时邮件激活的部分使用Redis 发送邮件时使用Redis的消息队列,减轻网站压力 ...
- 初识quartz 并分析 项目中spring整合quartz的配置【原创+转载】
初识quartz 并分析 项目中spring整合quartz的配置[原创+转载]2018年01月29日 12:08:07 守望dfdfdf 阅读数:114 标签: quartz 更多个人分类: 工具 ...
随机推荐
- 通过反射获取class文件中的构造方法,运行构造方法
/* * 通过反射获取class文件中的构造方法,运行构造方法 * 运行构造方法,创建对象 * 1.获取class文件对象 * 2.从class文件对象中,获取需要的成员 * * Constructo ...
- 查看客户端的IP地址,机器名,MAC地址,登陆名等信息
查看客户端的IP地址,机器名,MAC地址,登陆名等信息 SELECT s.session_id,s.login_time,s.host_name,p.loginame,s.program_name,c ...
- profiler跟踪事件存为表之后性能分析工具
使用profiler建立跟踪,将跟踪结果存到表中,使用下面存储过程执行 exec temp_profiler 'tra_tablename'对表数据进行处理归类,然后进行性能分析 1.先建存储过程 2 ...
- PHP开发学习门户第三版UI正式上线
官网:http://www.phpthinking.com/ 论坛:http://bbs.phpthinking.com/ 迭代.迭代,似魔鬼的步伐.似魔鬼的步伐-- PHP开发学习门户第二版UI用了 ...
- java 线程安全集合
ConcurrentMap 线程安全的HashMap CopyOnWriteArrayList 读多写少的线程安全的ArrayList,性能比vector好. ConcurrentLinkedQueu ...
- 转载【linux】Linux学习之CentOS6.x+7.x---网卡的配置
转载至:http://www.cnblogs.com/smyhvae/p/3932903.html [正文] Linux系统版本:Centos 6.5 Linux系统版本:Centos 7 目的:将c ...
- 【PHP】在目标字符串指定位置插入字符串
PHP如何在指定位置插入相关字符串,例子:123456789变为1_23_456789插入"_"到指定的位置! (可以用作换行或者其他处理) 插入示例,具体思路在代码中有注释: & ...
- 【mysql】主键、普通索引、唯一索引和全文索引的比较
YSQL索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录 开始扫描整个表的所有记录,直至找到符合要求的记录.表里面的记 ...
- iOS多线程常用类说明
iOS的多线程,涉及到如下一些类,这里集中做个介绍,免得混淆. 1.NSTimer 很显然,这是定时器类 2.NSTask iOS 不支持 NSTask 在很多并发操作的时候,多线程太耗资源,也太危险 ...
- 流类库继承体系(IO流,文件流,串流)和 字符串流的基本操作
一.IO.流 数据的输入和输出(input/output简写为I/O) 对标准输入设备和标准输出设备的输入输出简称为标准I/O 对在外存磁盘上文件的输入输出简称为文件I/O 对内存中指定的字符串存储空 ...