学习笔记Jmail收发邮件
一.利用Jmail发送邮件
2/// 利用Jmail发送邮件
3/// </summary>
4private void SendMailByJmail()
5{
6 ///建立发邮件类
7 jmail.MessageClass oJmailMessage = new jmail.MessageClass();
8
9 /// 字符集
10 oJmailMessage.Charset = "GB2312";
11
12 ///附件的编码格式
13 oJmailMessage.Encoding = "BASE64";
14 oJmailMessage.ContentType = "text/html";
15
16 ///是否将信头编码成iso-8859-1字符集
17 oJmailMessage.ISOEncodeHeaders = false;
18
19 /// 优先级
20 oJmailMessage.Priority = Convert.ToByte(1);
21
22 ///发送人邮件地址
23 oJmailMessage.From = TxtEmail.Text.Trim();
24
25 ///发送人姓名
26 oJmailMessage.FromName = TxtName.Text.Trim();
27
28 /// 邮件主题
29 oJmailMessage.Subject = txtSubject.Text.Trim();
30
31 ///身份验证的用户名
32 oJmailMessage.MailServerUserName = TxtSmtpUser.Text.Trim();
33
34 ///用户密码
35 oJmailMessage.MailServerPassWord = TxtSmtpPwd.Text.Trim();
36
37 ///添加一个收件人,抄送人和密送人的添加和该方法是一样的,只是分别使用AddRecipientCC和RecipientBCC两个属性
38 ///要是需要添加多个收件人,则重复下面的语句即可。添加多个抄送和密送人的方法一样
39 oJmailMessage.AddRecipient(txtReciver.Text.Trim(),"","");
40 if("" != upFile.PostedFile.FileName)
41 {
42 string attpath = upFile.PostedFile.FileName;
43 oJmailMessage.AddAttachment(@attpath,true,attpath.Substring(attpath.LastIndexOf(".")+1,3));//添加附件
44 }
45
46 ///邮件内容
47 oJmailMessage.Body = txtContent.Text.Trim();
48
49 if(oJmailMessage.Send(TxtSmtServer.Text.Trim(),false))
50 {
51 Response.Write("发送成功!");
52 }
53 else
54 {
55 Response.Write("发送失败,请检查邮件服务器的设置!");
56 }
57
58 oJmailMessage = null;
59}
60
二.利用Jmail接收邮件
2/// 利用Jmail接收邮件
3/// </summary>
4private void ReciveByJmail()
5{
6 ///建立收邮件对象
7 jmail.POP3Class popMail = new POP3Class();
8
9 ///建立邮件信息接口
10 jmail.Message mailMessage;
11
12 ///建立附件集接口
13 jmail.Attachments atts;
14
15 ///建立附件接口
16 jmail.Attachment att;
17
18 try
19 {
20 popMail.Connect(TxtPopUser.Text.Trim(),TxtPopPwd.Text.Trim(),TxtPopServer.Text.Trim(),Convert.ToInt32(TxtPopPort.Text.Trim()));
21
22 ///如果收到邮件
23 if(0 < popMail.Count)
24 {
25 ///根据取到的邮件数量依次取得每封邮件
26 for(int i=1;i <= popMail.Count;i++)
27 {
28 ///取得一条邮件信息
29 mailMessage = popMail.Messages[i];
30
31 ///取得该邮件的附件集合
32 atts = mailMessage.Attachments;
33
34 ///设置邮件的编码方式
35 mailMessage.Charset = "GB2312";
36
37 ///设置邮件的附件编码方式
38 mailMessage.Encoding = "Base64";
39
40 ///是否将信头编码成iso-8859-1字符集
41 mailMessage.ISOEncodeHeaders = false;
42
43 ///邮件的优先级
44 txtpriority.Text = mailMessage.Priority.ToString();
45
46 ///邮件的发送人的信箱地址
47 txtSendMail.Text = mailMessage.From;
48
49 ///邮件的发送人
50 txtSender.Text = mailMessage.FromName;
51
52 ///邮件主题
53 txtSubject.Text = mailMessage.Subject;
54
55 ///邮件内容
56 txtBody.Text = mailMessage.Body;
57
58 ///邮件大小
59 txtSize.Text = mailMessage.Size.ToString();
60
61 for(int j=0;j<atts.Count;j++)
62 {
63 ///取得附件
64 att = atts[j];
65
66 ///附件名称
67 string attname = att.Name;
68
69 ///上传到服务器
70 att.SaveToFile("e:\\attFile\\"+attname);
71
72 }
73
74 }
75 panMailInfo.Visible = true;
76 att = null;
77 atts = null;
78 }
79 else
80 {
81 Response.Write("没有新邮件!");
82 }
83
84 popMail.DeleteMessages();
85 popMail.Disconnect();
86 popMail = null;
87 }
88 catch
89 {
90 Response.Write("Warning!请检查邮件服务器的设置是否正确!");
91 }
92}
1.安装jmail4.3
2.找到jmail.dll 引用到项目中。
using jmail;
....................
jmail.Message Jmail = new jmail.Message();
DateTime t = DateTime.Now;
String Subject = "haohao 学习 天天向上";
String body = "你好 《》<br><b>科学</b>12:15";
String FromEmail = "escdns@gmail.com";
String ToEmail = "woolern@sohu.com";
//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 = "Multipart/Mixed";
//添加收件人(若几个收件人就添加几行下面的代码)
Jmail.AddRecipient(ToEmail, "", "");
//Jmail.AddRecipientCC,Jmail.AddRecipientBCC (抄送,密送,用法同Jmail.AddRecipient)
Jmail.From = FromEmail;
//发件人邮件用户名
Jmail.MailServerUserName = "woolern@sohu.com";
//发件人邮件密码
Jmail.MailServerPassWord = "********";
//设置邮件标题
Jmail.Subject = Subject;
//邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。
//[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
Jmail.AddAttachment("c:\\img200610311000250.jpg", true, null);
//邮件内容,(若为纯文本就改为Jmail.Body )
Jmail.HTMLBody = body;
//Jmail发送的方法
Jmail.Send("smtp.sina.net", false);
Jmail.Close();
学习笔记Jmail收发邮件的更多相关文章
- python学习笔记(SMTP邮件发送)
想着给框架添加邮件发送功能.所以整理下python下邮件发送功能 首先python是支持邮件的发送.内置smtp库.支持发送纯文本.HTML及添加附件的邮件 之后是邮箱.像163.qq.新浪等邮箱默认 ...
- python学习笔记(SMTP邮件发送:带附件)
博主有段时间没有更新博客了 先整理一个之前整理过的SMTP邮件发送,这次是带附件的功能 #!/usr/bin/env python # -*- coding: utf_8 -*- from email ...
- socket学习笔记——实现收发文件(Windows)
记录下来,供自己学习! server.c #define _CRT_SECURE_NO_DEPRECATE #include <stdio.h> #include <stdlib.h ...
- Python3学习笔记29-发送邮件
email模块用来构造邮件,smtplib模块用来发送邮件. 以QQ邮箱为例 想要在代码中使用QQ邮箱发送邮件,需要先在QQ邮箱-设置-账户中,开启SMTP服务,然后生成授权码.在进行验证账号时,用生 ...
- Python学习笔记18-发送邮件
SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件, ...
- ActiveMQ学习笔记(5)——使用Spring JMS收发消息
摘要 ActiveMQ学习笔记(四)http://my.oschina.net/xiaoxishan/blog/380446 中记录了如何使用原生的方式从ActiveMQ中收发消息.可以看出,每次 ...
- Dynamic CRM 2013学习笔记(三十四)自定义审批流5 - 自动邮件通知
审批过程中,经常要求自动发邮件:审批中要通知下一个审批人进行审批:审批完通知申请人已审批完:被拒绝后,要通知已批准的人和申请人.下面详细介绍如何实现一个自动发邮件的插件: 1. 根据审批状态来确定 ...
- Delphi中,indy控件实现收发邮件的几点学习记录( 可以考虑加入多线程,用多个邮箱做一个邮箱群发器) 转
关于用Delphi中的Indy控件实现收发邮件的几点学习记录 这几天心里颇不宁静,不是因为项目延期,而是因为自己几个月前做的邮件发送程序至今无任何进展,虽然一向谦虚的人在网上发 ...
- DouNet学习_收发邮件
一.收发邮件 --->第一步:发邮件首先要有发送者的邮箱地址和登录的密码才能发送 这些都写在APP里 不要写死 --->第二步:发邮件就要有网络,要添加net.Mail命名空间 要发送的 ...
随机推荐
- 手动启动mongodb和nodejs程序
最近做单片机去了,以前用的mongodb和nodejs没有配置成服务,居然忘了如何手动启动.在此记录下 一.手动启动mongodb 1.进入cmd 2.在dos下打开mongodb路径E:\mongo ...
- 使用Go开发web服务器
原文链接 Go(Golang.org)是在标准库中提供HTTP协议支持的系统语言,通过他可以快速简单的开发一个web服务器.同时,Go语言为开发者提供了很多便利.这本篇博客中我们将列出使用Go开发HT ...
- JS中同名函数有效执行顺序
html中如果出现函数同名时:如果有多个外部引入的js文件,例如a.js和b.js(引入顺序假定是a.js,然后是b.js),同时html中本身也有内部的js.那么针对 出现函数名一样的情况时,无论他 ...
- window.event对象详尽解析
event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生的过程中才有效. event的某些属性只对特定的事件有意义.比如,fromEleme ...
- 关于C#中的new的用法
修饰符:隐藏基类中的成员(是基类中的成员,所以字段.属性.事件等等都可以隐藏,不单单是方法哦) public class Car { public void WriteName(string name ...
- 重置样式 - Eric Meyer的原版
重置样式就是一组CSS声明,用来覆盖不同浏览器渲染HTML元素时的各种默认样式.重置样式一般会被加入到主样式文件的开头,用来将各个浏览器的自有默认样式重置成统一表现,确保样式表中后续追加的样式在不同浏 ...
- 结合Apache和Tomcat实现集群和负载均衡 JK 方式
本文基本参考自 轻松实现Apache,Tomcat集群和负载均衡,经由实操经历记录而成,碰到些出入,以及个别地方依据个人的习惯,所以在一定程度上未能保持原文的完整性,还望原著者海涵. 因原文中有较多的 ...
- 【转】appStore上传苹果应用程序软件发布流程
转载地址:http://blog.sina.com.cn/s/blog_68661bd801019uzd.html 首先确定帐号是否能发布, https://developer.apple.com/a ...
- php 中的常量
1.__FINE__ 返回当前常量所在的行号. 2.__FILE__ 返回文件的完整路径和文件名. 3.__FUNCTION__ 返回函数名称. 4.__CLASS__ 返回类名称. 5.__METH ...
- PHP : Reflection API
PHP Reflection API是PHP5才有的新功能,它是用来导出或提取出关于类.方法.属性.参数等的详细信息,包括注释. PHP Reflection API有: class Reflecti ...