C# 解决 邮件发送Excel附件后,excel处于锁定状态

当使用c#自带的MailMessage类发送excel附件时,再次打开excel会提示处于锁定状态。

解决思路:Attachment是添加附件的类,邮件发送后没有释放该类

public string SendSmtpeMail(string strSmtpServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody, string excelPath)
{
try
{
//这样写防止发送excel附件后,excel处于锁定状态
using (var message = new MailMessage(strFrom, strto, strSubject, strBody))
{
using (var attachment = new Attachment(excelPath)) //添加附件
{
message.Attachments.Add(attachment);
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;

using (var client = new SmtpClient(strSmtpServer))
{
client.Timeout = 9999999;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Send(message);
}
}
}
}
catch (Exception ex)
{
Program.form.text.Invoke(ex.ToString());
return ex.ToString();
}
return "";
}

时间: 2024-10-15 02:44:01

C# 解决 邮件发送Excel附件后,excel处于锁定状态的相关文章

邮件发送超大附件,上传下载特别慢,怎么解决?

目前,已有不少邮箱如QQ邮箱.网易邮箱等支持超大附件,可以发送2G或3G大小的文件.但是诸多邮箱发送超大附件普遍存在以下问题: 首先,邮件发送大文件对文件大小有限制,超过上限的超大附件无法发送:其次,超大附件上传.下载的速度有限,而且速度也不稳定:再次,即便上传成功之后,如果对方的邮箱接收附件的大小也会有限制,甚至会导致邮件发送失败. 作为最常用的办公工具之一,邮箱附件上传下载慢.传输中断.无法发送超大附件等问题,是职场人士的一大困扰.怎么解决这个问题? 推荐一款可以通过邮箱发送超大附件的工具-

通过邮件发送超大附件的3种方法介绍

日常工作中,员工之间.企业之间通过邮件形式进行信息交换是很普遍的,这也是一种相对较正式的文件交换方式,一般的小文件发送是没有问题的,但是总会遇到一些大容量的文件需要发送.邮件附件太大,上传.发送不了,相信这个问题很人都遇到过,例如发送项目工程资料.设计图纸.软件包等文件数据的时候,都需要发送较大的附件,会遇到上传缓慢.超时.无法发送等问题,而且很多邮箱系统不支持超大附件,这些问题要如何解决呢?下面Ftrans小编就来为大家分享3种发送超大邮件附件的小技巧,希望对大家有帮助:1.打包分批传输.将文

java mail邮件发送(带附件) 支持SSL

java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.util.Vector; public class MailSenderInfo { // 发送邮件的server的IP和端口 private String mailServerHost; private String mailServerPort = "25"; // 邮件发送者的地址 pr

java mail邮件发送(带附件)

java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.util.Vector; public class MailSenderInfo { // 发送邮件的服务器的IP和端口 private String mailServerHost; private String mailServerPort = "25"; // 邮件发送者的地址 priva

C#邮件发送(含附件)

class SendEmail { static void Main(string[] args) { string from = "发件人@yingu.com"; string fromer = "赵海莹"; string to = "收件人@yingu.com"; string toer = "刘春喜"; string Subject = "逾期数据报表"; string file = string.C

python之简单邮件发送(带附件、图片)

#!/usr/bin/env python #coding: utf-8 by guozheng_li #该脚本加入了文本.图片以及附件功能,日常运维跑的脚本基本也就这三样够用了.可以发送给多人,只要添加相应的mailto_list即可,再加入该说明前验证是正常的 import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.im

redmine 配置邮件发送为async后,不能发送邮件(转载)

通过参考:http://www.oschina.net/question/2005703_16688 之前configuration.yaml文件中email的相关配置如下: production: email_delivery: delivery_method: :async_smtp smtp_settings: address: smtpcom.263xmail.com port: 25 domain: '263xmail.com' authentication: :login user_

学习笔记之邮件发送篇

用脚本语言发送邮件是系统管理员必备技能 对系统定期检查或者当服务器受到攻击时生成文档和报表. 发布这些文档最快速有效的方法就是发送邮件. python中email模块使得处理邮件变得比较简单 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍: 本段摘录于    http://www.cnblogs.com/xiaowuyi/archive/2012/03/17/2404015.html 1.smtplib模块 smtplib.SMTP([host[, p

python学习笔记2:基础(邮件发送)

参考文档:http://www.runoob.com/python/python-email.html SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. python的smtplib提供了一种很方便的途径发送电子邮件.它对smtp协议进行了简单的封装. Python创建 SMTP 对象语法如下: import smtplib smtpObj = smtplib.SMTP( [host