c# 发送邮件保存服务器,c#-使用SmtpClient时如何保存电子邮件而不是发送电子邮件?...
c#-使用SmtpClient时如何保存电子邮件而不是发送电子邮件?
我正在使用SmtpClient发送带有附件的电子邮件。但是,对于某些批次,我们需要以某种方式保存MailMessage而不是发送它们。然后,我们正在考虑/希望将邮件手动上传到用户的草稿文件夹。
是否可以保存附件完整的这些消息(不可能,我想过)。 或者将邮件上传到用户帐户中的文件夹?
如果有人对此有任何经验,我将非常感谢您的帮助或指导。
user17510 asked 2020-07-14T02:17:56Z
5个解决方案
73 votes
在ASP.NET中进行测试时,我们将电子邮件保存到文件夹中,而不是通过电子邮件服务器发送。 也许您可以为批次更改这样的2965463549159159670784设置?
附加信息:
MSDN:元素(网络设置)
配置SmtpClient以将电子邮件拖放到磁盘上的文件夹中
Leah answered 2020-07-14T02:18:39Z
12 votes
以及其他答案的SpecifiedPickupDirectory信息,如果您想确保将电子邮件发送到相对于站点根目录的文件夹-方便在不知道路径的构建服务器上进行测试-您可以添加快速检查 在您的电子邮件发送代码中:
SmtpClient client = new SmtpClient();
...
// Add "~" support for pickupdirectories.
if (client.DeliveryMethod == SmtpDeliveryMethod.SpecifiedPickupDirectory && client.PickupDirectoryLocation.StartsWith("~"))
{
string root = AppDomain.CurrentDomain.BaseDirectory;
string pickupRoot = client.PickupDirectoryLocation.Replace("~/", root);
pickupRoot = pickupRoot.Replace("/",@"\");
client.PickupDirectoryLocation = pickupRoot;
}
并且您的测试将如下所示(确保您使用App_Data,以便IIS可以写入该文件夹):
// Arrange - get SitePath from AppDomain.Current.BaseDirectory + ..\
string pickupPath = Path.Combine(SitePath, "App_Data", "TempSmtp");
if (!Directory.Exists(pickupPath))
Directory.CreateDirectory(pickupPath);
foreach (string file in Directory.GetFiles(pickupPath, "*.eml"))
{
File.Delete(file);
}
// Act (send some emails)
// Assert
Assert.That(Directory.GetFiles(pickupPath, "*.eml").Count(), Is.EqualTo(1));
Chris S answered 2020-07-14T02:19:04Z
7 votes
这可以帮助-将Save()功能添加到Microsoft.Net.Mail.MailMessage
主要思想是对MailMessage进行扩展,通过反射来创建save方法。
Avram answered 2020-07-14T02:19:29Z
6 votes
您可以在System.Net.Mail/app.config文件中使用System.Web.Mail设置进行配置。
此外,这是一个链接,其中包含有关从System.Web.Mail迁移到System.Net.Mail的信息。
dotjoe answered 2020-07-14T02:19:53Z
1 votes
错误还需要在某些版本的框架中添加作为解决方法。 因此,完整的版本如下所示:
devjin answered 2020-07-14T02:20:15Z
c# 发送邮件保存服务器,c#-使用SmtpClient时如何保存电子邮件而不是发送电子邮件?...相关推荐
- 让您的数据库服务器与您对话:直接从SQL Agent Jobs发送电子邮件
Recently, I was asked if I can write and run a specific query and have the results, (if any) emailed ...
- outlook发送邮件被服务器拒绝,Outlook不能发邮件是什么原因?
Outlook功能很多,既方便又实用.与WEB邮箱相比,Outlook收发邮件有很大的优势.但是不少用户遇到了Outlook不能发送邮件的问题,遇到这样的问题,我们应该如何去解决它呢?现在小编就跟小编 ...
- r在服务器如何输出文件,在Rstudio服务器中编译Rmd时,.tex文件保存在哪里
这可能听起来像一个愚蠢的问题,但我想知道当我从Rmd文件编译pdf文档时,保存的.tex文件在哪里,使用RStudio服务器. 我加了keep_tex选项,所以RMD的头看起来是这样的:在Rstudi ...
- iphone发送邮件html,iPhone使用smtp服务器发送电子邮件?
在我的应用程序中,我能够使用smtp服务器发送电子邮件,因为我输入了正确的电子邮件ID和密码. 但当我输入我的Gmail或雅虎帐户详细信息时,我无法发送邮件. 因为我设置了relayHost = @& ...
- 转: SMTP 服务器无法识别在 Mac 2011 Outlook 中发送电子邮件时错误。错误 17092...
在 Mac 2011 Outlook 中发送电子邮件时,您可能会收到下面的错误消息: 无法发送邮件. SMTP 服务器无法识别任何 Outlook 所支持的身份验证方法. 请尝试更改帐户设置中的 SM ...
- php生成excel到服务器,yii phpexcel自动生成文件保存到服务器上
yii phpexcel自动生成文件保存到服务器上 最近再整一个报表任务,每天必须把表导出来按excel格式发送邮件给管理员,利用phpexcel把表保存到服务器上,然后再通过phpmailer发送就 ...
- 用户修改了信息jwt服务器怎么识别,django使用JWT保存用户登录信息
什么是JWT? Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站 ...
- 微软邮箱服务器和端口,发送邮件的服务器的ip和端口
发送邮件的服务器的ip和端口 内容精选 换一换 浏览器发送邮件:在使用浏览器登录邮箱时直接使用HTTP协议,其端口号默认为80,邮件服务器之间还是使用邮件发送协议:SMTP协议.通过浏览器发送邮件,则 ...
- 剑三怎么修改键位不保存服务器,剑网三保存服务器设置
剑网三保存服务器设置 内容精选 换一换 反向解析主要应用于自建邮箱服务器,可以提高邮箱服务器IP地址和域名的信誉度.多数垃圾邮件发送者使用动态分配或者没有注册域名的IP地址来发送垃圾邮件,以逃避追踪. ...
最新文章
- java中类加载机制、类加载过程和类加载器层次
- poj3273---Monthly Expense
- Leet Code OJ 83. Remove Duplicates from Sorted List [Difficulty: Easy]
- FLEX组件AnyChart实例教程.
- android布局layout中的一些属性
- Node.js安装教程
- springmvc form中 commandName和modelAttribute的疑问
- 计算机如何连接网络扫描仪,windows系统下怎么共享扫描仪?
- J2ME 2D小游戏入门之旅(五) 实现爆炸效果、并加入道具导弹(转)
- 计算机常用英语单词1500
- python 中的 sys.stdin ,sys.stdout 和sys.stderr
- 华尔街借助软件甄别忠诚员工
- 隐患排查信息系统:实现安全隐患信息登记、评估、分类、处置、分析的流程化处理
- 原生js实现简化版幸运大转盘
- 电脑用的时间长了,如何给电脑提速?
- 全国高校人工智能高级研修班正式启动招募,互动式教学期待你的加入
- PHP中使用CURL之php curl详细解析和常见大坑
- win10中的wsappx进程(开机时,占用过多资源)
- 在word中自动生成目录
- 探访联通总部,展望美好前景