通过电子邮件发送带有图像的 html 文件
如何在 C# 中发送带有图像的 html 邮件?我可以在我的服务器上设置图像的直接链接(例如 )还是我需要附加图像,然后使用我附加文件的链接?有任何示例或现成的库吗? css 文件和脚本呢?
How can i send html mail with images in c#? Can i just set direct link to image on my server(something like <img src="http://mysite.ru/img.png" />
) or i need attache image and then use link to my attached file? Is there any examples or ready to use libraries? What about css files and scripts?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
有多种对内联图像进行编码的方法。我们在内部使用 VB.NET,这个网站是一个很好的参考 http://www.systemnetmail.com/default .aspx
There are multiple methods of coding in-line images. We use VB.NET in house and this site is an excellent reference http://www.systemnetmail.com/default.aspx
如果您直接将链接嵌入到电子邮件中(指向外部服务器),您将被大多数客户端阻止,但用户可以打开它们。
它们可以按照通常的方式嵌入:
如果您需要它默认显示,您需要将图像作为附件嵌入并链接到该附件。
请参阅:http://www.systemnetmail.com/faq/2.6.aspx
If you directly embed the links into the email (pointing to an external server) you'll get blocked by most clients, but the user can turn them on.
They can be embedded in the usual manner of:
If you need it to show up by default you'll need to embed the image as an attachment and link to that attachement inline.
See: http://www.systemnetmail.com/faq/2.6.aspx
对于CSS,通常使用内联样式并且没有引用文件,另一侧的图像应该只是链接而不是与电子邮件一起发送。您只需将邮件内容声明为 html 即可。 JavaScript 也可用,我用它来进行一些重新定位。
For CSS it is common to use inline style and no referenced files the images on the other side should be just links and not send with the email. You just need to declare the mail content as html and you are ready to go. JavaScript is also available I use it fir some repositioning.
请参阅http://en.wikipedia.org/wiki/MHTML:
了解更多有关 MHTML 的知识可能是解决问题的关键。
See http://en.wikipedia.org/wiki/MHTML:
Learning more about MHTML may be the key to solving the problem.
可能最好的选择是使用像 MvcMailer 这样的包。
Mvc Mailer 显示以下特征:
MvcMailer 使用 MVC 视图作为电子邮件正文轻松发送电子邮件。以下是功能的快速列表:
a) 使用 Razor/WebForms 视图
b) 使用母版页
c) 编写可测试代码
d) 使用 ViewBag 或 ViewModel 将值传递到视图
e) 使用 Url.Abs 方法生成绝对 URL
f) 创建只需添加一个视图文件即可组成多部分电子邮件,
g) 搭建您的邮件程序。 MvcMailer 有一个扩展 ControllerBase 类的 MailerBase 类。
因此,邮件程序就像您的控制器一样。因此,您可以使用所有控制器功能,无需任何学习曲线。最终结果是一个外观专业的 HTML 电子邮件正文,可供您发送给网站用户。
访问项目站点以获取有关 MvcMailer 的综合教程。 https://github.com/smsohan/MvcMailer/wiki/MvcMailer -分步指南
在分步指南中,您将找到如何使用图像发送电子邮件。
brgds。
塞巴斯蒂安。
probably the best option is to use some package like MvcMailer.
Mvc Mailer display the following characteristics:
MvcMailer sends emails using the MVC views as Email Body with no effort. Here's a quick list of features:
a) Use Razor/WebForms views
b) Use Master pages
c) Write Testable Code
d) Pass values to your view using ViewBag or ViewModel and
e) Generate Absolute URL using Url.Abs method and
f) create multi-part emails by just adding a view file,
g) scaffold your mailers. MvcMailer has a MailerBase class that extends ControllerBase class.
So, Mailers are just like your Controllers. As a result, you can use all the controller goodies without any learning curve, period. The end result is a professional looking HTML email body ready for your to send to your website users.
Visit the Project site for a comprehensive tutorial on MvcMailer. https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide
On the step guid you will find how you can send emails using images.
brgds.
sebastian.