C# 发邮件类可发送附件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net.Mail; namespace Ajax.发邮件
{
public class GetMail
{
//MailAddress ds = new MailAddress("1738819932@qq.com");
// Send(ds, "674580075@qq.com", "邮件主题", "邮件内容","附件名称");
public GetMail()
{ }
/// <summary>
/// 发送电子邮件
/// </summary>
/// <param name="MessageFrom">发件人邮箱地址</param>
/// <param name="MessageTo">收件人邮箱地址</param>
/// <param name="MessageSubject">邮件主题</param>
/// <param name="MessageBody">邮件内容</param>
/// <param name="SUpFile">附件</param>
/// <returns></returns>
public bool Send(MailAddress MessageFrom, string MessageTo, string MessageSubject, string MessageBody, string SUpFile)
{
MailMessage message = new MailMessage();
message.From = MessageFrom;
message.To.Add(MessageTo); //收件人邮箱地址可以是多个以实现群发 message.Subject = MessageSubject;
message.Body = MessageBody; if (SUpFile != "")
{ SUpFile = Server.MapPath("~/发邮件/Upfile/" + SUpFile);//获得附件在本地地址
//将文件进行转换成Attachments
Attachment data = new Attachment(SUpFile, MediaTypeNames.Application.Octet);
// Add time stamp information for the file.
ContentDisposition disposition = data.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(SUpFile);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(SUpFile);
disposition.ReadDate = System.IO.File.GetLastAccessTime(SUpFile); message.Attachments.Add(data);
System.Net.Mime.ContentType ctype=new System.Net.Mime.ContentType ();
} message.IsBodyHtml = true; //是否为html格式
message.Priority = MailPriority.Normal; //发送邮件的优先等级
SmtpClient sc = new SmtpClient();
sc.Host = "smtp.qq.com"; //指定发送邮件的服务器地址或IP
sc.Port = ; //指定发送邮件端口
sc.Credentials = new System.Net.NetworkCredential("发送邮箱账号", "账号密码"); //指定登录服务器的try
{
sc.Send(message); //发送邮件
}
catch
{
return false;
}
return true;
}
}
}
C# 发邮件类可发送附件的更多相关文章
- c++封装的发邮件类CSendMail
项目需要做发邮件的功能,在网上找了一下代码,比较出名的SMailer编译不过(把那个Base64的encode拉到MailSender中实现就能过,但我搞不懂原来出错的原因,就不想用),另外找到了一个 ...
- 发现用System.Net.Mail发邮件(代码附后),附件稍微大一点就会造成程序假死. 有没有什么简单的解决办法呢? 多谢!!
附件大,上传,发送一定会慢.程序卡,应该是主线程正在发送,邮件造成的.创建其他线程在后台去发.这样就不影响主线程做其他工作了 using System; using System.Collecti ...
- python webdriver 登录163邮箱发邮件加附件, 外加数据和程序分离,配置文件的方式
配置文件:UiObjectMapSendMap.ini用来存放配置信息 GetOptionSendMail.py 用来读取配信息 #encoding=utf-8from selenium.webdri ...
- C#后台程序重启IIS,发邮件通知
应用场景:IIS网站挂掉,系统自动重启IIS,通知相关联系人: 主要代码: 监控类 public class monitoringiis { EmailSend send = new EmailSen ...
- java 发邮件
//先从oracle 下载mail.jarpackage test; import javax.mail.BodyPart; import javax.mail.Message; import jav ...
- python smtp 发邮件 添加附件
# -*- coding:utf-8 -*- # __author__ = 'justing' import os import smtplib from email.mime.multipart i ...
- Android将日志信息自动发送到指定的邮箱中 邮件的内容以附件形式发送
今日整合了网上一些大神的例子(具体看了那些大神的?这个真不好意思我忘记了.下次再整合一定给大家补上,这次也只有默默的给那几个大神说声抱歉了.)做了一个“记录android项目中的日志信息,并将日志信息 ...
- php 发邮件的2种方式(使用stmp类、使用socket协议)
方式1:使用stmp类发送邮件 代码: stmp.php <?php header("Content-Type: text/html; charset=utf-8"); cl ...
- 发邮件 文字+ 附件的方法(QQ or 网易 邮箱)
#coding:utf-8import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIME ...
随机推荐
- 用英文加优先级来解读C的声明
比如:int ( * func_p ) ( double ); 首先着眼于标识符. func_p is 因为存在括号,(* func_p) 先被处理,这里着眼于* func_p is a pointe ...
- 搭建第一个web项目:jasperReports+ireport制作pdf报表
一:jasperReports介绍: 在web应用中,必须面临大量的报表问题,即将数据库中的数据形成报表并进行打印.传统开发只能使用html页面设计报表,效率低且不支持别的格式.所以jasperRep ...
- javaweb学习总结二十六(response对象的用法二 下载文件)
一:浏览器打开服务器上的文件 1:读取服务器上面的资源,如果在web层,可以直接使用servletContext,如果在非web层 可以使用类加载器读取文件 2:向浏览器写数据,实际上是把数据封装到r ...
- [转]使用 HTML5 索引型数据库的待办事项简要列表
本文转自:http://www.html5rocks.com/zh/tutorials/indexeddb/todo/ <!DOCTYPE html><html> <h ...
- #316 div.2
主要记录下被坑的B.果然大晚上脑子就是不知道在干嘛,明明都测到 “1 1” 这个样例错了都没发现直接给放过去了,白白让人hack爽了... 题意就是给你一个数m,让你从1~n个数中选一个作a,使1~n ...
- js获取iframe的parent对象
使用谷歌浏览器调试代码时无意间发现了一个奇特的问题:从iframe页面调用父级页面的方法,window.parent.text(),出现 Blocked a frame with origin &qu ...
- Python调用Webservice、访问网页
昨天在调试Webservice的时候,由于不想写测试程序,就想用Python访问Webservice,结果还是相当的麻烦.远没有VSIDE用的方便 不得不说VS还是很强大的,人性化做的很好,不需要你看 ...
- SQL Server 2000中的完整备份、差异备份操作
在SQL Server 2000中,假定我们拥有一个数据库为:Test, 现在需要它每天19:00自动进行一次备份,并且以后一旦发生数据库错误,我们都可以通过备份文件将数据库恢复到任何一个备份过的时刻 ...
- 两种获取connectionString的方式
两种获取connectionString的方式 1. public static string connectionString = ConfigurationManager.ConnectionSt ...
- 3DES 加解密,对长度不限制
#region 3DES /// <summary> /// 3DES加密 /// </summary> /// <param name="strString& ...