无法使用 FluentEmail 发送电子邮件中的嵌入图像

2024-01-03

我在用着流利的电子邮件 https://github.com/lukencode/FluentEmail在 ASP.NET core 2.0 类库中,它将发送电子邮件通知。

下面是我到目前为止尝试过的示例代码:

using FluentEmail.Core;
using FluentEmail.Razor;
using FluentEmail.Smtp;
using System;
using System.IO;
using System.Net.Mail;
using System.Net.Mime;

namespace FluentEmail
{
    public class EmailNotification : IEmailNotification
    {
        public bool SendEmailNotification()
        {
            try
            {
                //Setup Default sender befault sending the email.
                SmtpClient smtpClient = new SmtpClient
                {
                   Host = "smtp.office365.com",
                   Port = 587,
                   EnableSsl = true,
                   Credentials = new System.Net.NetworkCredential("username", "Password")
                };
                Email.DefaultSender = new SmtpSender(smtpClient);

                Email.DefaultRenderer = new RazorRenderer();

                string imagePath = @"C:\Users\pratik.soni\Downloads\FluentLogo.png";

                Stream stream = new FileStream(imagePath, FileMode.Open, FileAccess.Read);
                stream.Flush();
                stream.Seek(0, SeekOrigin.Begin);

                var attachment = new Core.Models.Attachment()
                {
                    Data = stream,
                    ContentType = "image/png",
                    Filename = "FluentLogo.png",
                    IsInline = true
                };

                var email = Email
                  .From("[email protected] /cdn-cgi/l/email-protection")
                  .To("[email protected] /cdn-cgi/l/email-protection")
                  .Subject("Test")
                  .Body("<html>Inline image here: <img src=\"cid:FluentLogo.png\">" +
                    "<p>You should see an image without an attachment, or without a download prompt, dependig on the email client.</p></html>", true);

                email.Attach(attachment);
                email.Send();
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }

        }
    }
}

我的 HTML 文件如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>FluentEmail - Test with template and attachment</title>
</head>
<body style="margin: 0; padding: 0; background-color: #e5e5e5;" marginheight="0" topmargin="0" marginwidth="0" leftmargin="0">
<!--100% body table-->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td bgcolor="#d8e7ea" style="background-color: #e5e5e5;">
            <!--intro-->
            <table width="620" border="0" align="center" cellpadding="0" cellspacing="0">
                <tr>
                    <td valign="middle" width="11" height="100"></td>
                    <td valign="middle" height="100">
                        <!--break-->
                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
                            <tr>
                                <td height="25"></td>
                            </tr>
                        </table>
                        <!--/break-->
                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
                            <tr>
                                <td width="59%" height="100">
                                    <table width="280" border="0" cellspacing="0" cellpadding="20">
                                        <tr>
                                            <td bgcolor="#333333">
                                                <h1 style="font-family: Arial, Helvetica, sans-serif; font-size: 42px; margin: 0; padding: 0; color: #fff;">Typographic</h1>
                                                <p style="text-transform: uppercase; font-size: 14px;  color: #fff; margin: 0; padding: 0; font-family: Arial, Helvetica, sans-serif;">
                                                    <currentdayname>
                                                    <currentday>
                                                    <currentmonthname>
                                                    <currentyear>
                                                </p>
                                            </td>
                                        </tr>
                                    </table>
                                </td>
                                <td width="41%" height="100" valign="top">
                                    <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                        <tr>
                                            <td valign="bottom" height="70">
                                                <p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #333; text-transform: uppercase; margin: 0; padding: 0;"> Email not looking beautiful?<br>
                                                    <webversion style="text-decoration: none; color: #cc0000">View it in your browser</webversion>
                                                </p>
                                            </td>
                                        </tr>
                                    </table>
                                </td>
                            </tr>
                        </table>
                        <!--break-->
                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
                            <tr>
                                <td height="25"></td>
                            </tr>
                        </table>
                        <!--/break-->
                    </td>
                </tr>
            </table>
            <!--/intro-->
            <!--content section-->
            <table width="620" border="0" align="center" cellpadding="0" cellspacing="0">
                <tr>
                    <td height="82" width="11" valign="middle"></td>
                    <td height="82" bgcolor="#FFFFFF" valign="middle">
                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
                            <tr>
                                <td valign="middle" height="37" bgcolor="#fef041">
                                    <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                        <tr>
                                            <td bgcolor="#ffffff" width="25" height="37"></td>
                                            <td width="15" height="37"></td>
                                            <td>
                                                <h2 style="color: #333333 !important; font-size: 21px; font-family: Arial, Helvetica, sans-serif; margin: 0; padding: 0; text-shadow: 1px 1px 1px #fff;"> @Model.Title</h2>
                                            </td>
                                        </tr>
                                    </table>
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
                <tr>
                    <td valign="top"></td>
                    <td bgcolor="#FFFFFF" valign="top">
                        <table width="560" border="0" align="center" cellpadding="0" cellspacing="0">
                            <tr>
                                <td valign="top">
                                    <p style="font-size: 14px; color: #333333; margin: 0; padding: 0; font-family: Arial, Helvetica, sans-serif;"> Dear @Model.Name, You are totally @Model.Compliment. </p>
                                    <br>
                                    <table bgcolor="#000000" width="540" border="0" cellspacing="10" cellpadding="0">
                                        <tr>
											<td>
												<img src=\"cid:@Model.ImgSrc\">
											</td>
										</tr>
										<tr>
                                            <td width="540" height="158"><img style="margin: 0; padding: 0; display: block;" border="0" src="C:\Users\pratik.soni\Downloads\2016-fluent-logo-design-digital-marketing-20nine-4.png" width="540" height="158" alt="img1"></td>
                                        </tr>
                                    </table>
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>
<!--/100% body table-->
</body>
</html>

我也尝试过仅将图像路径传递到 html 中的 imgsrc,但这也不起作用。

请让我知道我在这里缺少什么。

另外,有没有类似的包流利的电子邮件它可以提供这样的所有设施ASP.NET 核心 2.0?


您必须使用 LinkedResource;看看这个

using (LinkedResource image = new LinkedResource(@"c:\assets\image.jpg", "image/jpeg") { ContentId = "myimage" })
using (MailMessage mail = new MailMessage())
using (SmtpClient smtpClient = new SmtpClient())
{
    smtpClient.Host = "smtp.alfki.com";

    String body = @"
    <html>
        <head></head>
        <body>    
        <img src=""cid:myimage"" />      
        </body>
    </html>
    ";  

    AlternateView view = AlternateView.CreateAlternateViewFromString(body, null, "text/html");
    view.LinkedResources.Add(image);

    mail.IsBodyHtml = true;
    mail.AlternateViews.Add(view);
    mail.From = new MailAddress("[email protected] /cdn-cgi/l/email-protection");
    mail.To.Add("[email protected] /cdn-cgi/l/email-protection");
    mail.Subject = "An email with an inline image";

    smtpClient.Send(mail);
}

Edit:

它适用于 .NET Core/Standard。

我不能代表 FluentMail 发言;也许你可以不用?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 FluentEmail 发送电子邮件中的嵌入图像 的相关文章

  • 使用 R 从 Microsoft Outlook 发送电子邮件时的 Html 表输出格式

    我正在尝试使用以下方法将数据框转换为 html 表htmlTable打包 然后使用 Microsoft Outlook 作为电子邮件客户端发送电子邮件RDCOMClient通过附加 html 表作为电子邮件正文来进行打包 我是 HTML 编
  • 使用 Python 的 email.generator 包创建电子邮件草稿

    我目前正在使用此代码通过 Python 生成电子邮件 from email import generator from email mime multipart import MIMEMultipart from email mime te
  • 寻找仅 php 电子邮件地址混淆器功能

    有没有仅适用于 php 的电子邮件地址混淆器功能 网上找到的大多数都是 JS 和 PHP 的混合体 这是我使用的几个函数 第一个使用 html 字符代码混淆电子邮件地址 function getObfuscatedEmailAddress
  • ASP.NET 电子邮件发送缓慢

    在我的 Web 应用程序 ASP NET MVC 中 我使用以下命令发送电子邮件 MailMessage msg new MailMessage email protected cdn cgi l email protection some
  • PHP 会话中的数据错误

    我对网上商店进行了以下设置 当用户登录时 通过 AJAX 调用脚本 该脚本根据 SOAP Web 服务验证用户数据 并返回用户数据 当用户登录时 用户数据保存在 PHP 会话中 用户数据 仅通过 SOAP 检索 而不由商店存储 我使用默认的
  • 在电子邮件中设置 html 样式

    我正在为有能力的客户发送 HTML 版本的电子邮件 现在这不是几乎全部吗 我担心的是如何设计它 我使用内联CSS吗 我可以在 html 中包含样式表吗 html 是否以 or 我可以阅读这方面的标准吗 我在造型方面能走多远 我有边框半径 背
  • 如何使用python创建从openerp自动发送邮件的程序

    如何使用python创建从openerp自动发送邮件的程序 我已经创建了 openerp 模块 当生成客户端 ID 时 我正在尝试向客户端发送邮件 在 sale 文件夹中的 sale py 中 当将潜在客户转换为客户时 我想向客户发送邮件
  • Delphi 流畅的界面

    使用上有什么优点和缺点流畅的界面 http en wikipedia org wiki Fluent interface在德尔福 流畅的界面应该会增加可读性 但我对此有点怀疑one包含很多链式方法的长 LOC 是否存在编译器问题 是否存在任
  • MIME::Lite - 无法发送邮件 [smtp.gmail.com 不支持 SMTP auth() 命令]

    use MIME Lite use warnings use MIME Base64 use Authen SASL use MIME Lite use MIME Base64 use Authen SASL use warnings us
  • PHP语言问题

    我有一个 php 页面 它将邮件发送到特定电子邮件 其中包含此页面表单中的数据 邮件必须以网站的母语 阿拉伯语 发送 但是当我单击表单上的提交按钮时 收到的邮件一半可读 阿拉伯语 另一部分不可读 符号 我想知道如何解决这个问题并且能够发送邮
  • 如何从 Ruby 程序发送邮件?

    我想从 Ruby 应用程序发送电子邮件 核心语言中是否有调用来执行此操作 或者是否有我应该使用的库 最好的方法是什么 如果你不想使用行动邮递员 http wiki rubyonrails org rails pages ActionMail
  • Outlook 无法识别一个或多个姓名

    我有以下 vba 代码 它读取邮箱并向任何发送无效代码作为邮箱回复的用户发送回复 但有时会收到运行时错误 Outlook 无法识别一个或多个名称 我的问题是 创建新的 MAPI 配置文件是否可以解决该问题 或者我是否需要添加一个代码来解析地
  • Git:发送电子邮件而不提交

    我有一个项目 我做了更改 并想使用 git send email 功能将它们发送给另一个用户 我发现它可以通过发送补丁来工作 由git format patch每次提交 是否可以只发送diff的 我不想先提交 然后发送补丁 是否有gitfo
  • mvc core 2.0,如何通过配置使用appSettings.json文件

    今天 我正在尝试新的 asp net core 2 0 但使用 JSON 配置文件时遇到了一些麻烦 我没有在 IConfiguration 配置构造函数属性中注入该文件 在 asp net core 1 1 中 我将在 StartUp 中使
  • Java Mail - 以字符串形式读取附件

    我开始使用 Java Mail 我有一些关于附件处理的问题 如果我们的内容是Multipart即有一个附件 在哪个索引处是实际的附件 在哪个索引处我们可以找到邮件内容 我只想处理附件 这是正确的做法吗 如果我想将给定的附件转换为字符串 只需
  • Outlook 2013 渲染问题:嵌套表格截断相邻文本

    在开发 html 电子邮件通讯时 我经常使用类似于以下的结构 table width 244 border 0 cellpadding 0 cellspacing 0 tr td table border 0 align left tbod
  • PHP:如何发送电子邮件基础知识

    我想使用 PHP 从本地主机向其他人发送电子邮件 我需要做什么才能做到这一点 例如我需要安装邮件服务器吗 如果我没记错的话 有一种语言不需要邮件服务器来发送电子邮件 这样对吗 PHP ini里面有 邮件功能 如何配置这个 我在网上查了一下
  • Laravel 类邮件程序不存在

    我将应用程序从 5 更新到 5 2 现在 当我调用 Mail send 时 它会返回一个异常 Class mailer 不存在 Mail send emails mail data gt content function m use to
  • PHP 邮件结果错误:“标头丢失”

    我已经使用 php 邮件表单有一段时间了 现在它无法在新网站上运行 出现以下错误结果 PHP 警告 mail function mail sendmail from 未在 php ini 中设置 或第 16 行 E home mypagef
  • 如何在 Jenkins 中设置发件人地址?

    我正在将邮件从 Jenkins 发送到内部匿名 SMTP 中继 然后 该中继通过端口 587 上的 TLS 安全地发送邮件进行在线交换 传输工作正常 问题是 Microsoft 要求发件人地址与身份验证凭据登录名匹配 该登录名与帐户电子邮件

随机推荐

  • 为什么在链表中间插入是O(1)?

    根据维基百科关于链接列表的文章 http en wikipedia org wiki Linked list Linked lists vs arrays 在链表中间插入被认为是 O 1 我认为这将是 O n 您是否不需要找到可能靠近列表末
  • 如何选择DI容器? [复制]

    这个问题在这里已经有答案了 可能的重复 主要 C DI IoC 框架如何比较 https stackoverflow com questions 4581791 how do the major c sharp di ioc framewo
  • .War 可以在 Windows 上部署,但无法在 Linux 服务器 (Tomcat 7) 上部署

    正如标题所介绍的 我尝试使用 Tomcat 7 部署的 War 文件无法在运行 Linux 的计算机上运行 它确实可以在 Windows 上运行 并且当然可以使用 Tomcat 7 进行部署 我试图单独追踪这个问题并在网络上搜索相关问题 包
  • 回显但保留双引号

    我正在尝试创建一个脚本 它将变量 文本回显到文件中 该脚本的一个片段是 echo SUBJECT Text here EMAIL email protected cdn cgi l email protection EMAILMESSAGE
  • 如何修复实体和 POJO 必须有可用的公共构造函数

    当我尝试在使用 sqlite 数据库时启动我的应用程序时 出现此错误 我在不同的文件中有 3 个数据类 Entity tableName movies data class MovieNews PrimaryKey autoGenerate
  • 由于尝试调用虚拟方法“java.lang.String android.content.Context.getPackageName()”,意图失败

    我拥有的 我有一个 RecyclerView 其中包含酒吧 咖啡店的图像 ETC 我想要的 当您单击这些图像之一时 我会向您显示所选位置的信息 但是在您单击所选图像时 应用程序崩溃并显示此错误 尝试调用虚拟方法 java lang Stri
  • 单击 JTextField 中的图标并清除其内容

    我正在尝试创建一个带有图像和提示的 JTextField 文本字段的功能是一个搜索字段 用于搜索一些书籍 现在 我想走得更远一点 我想赋予图像一个功能 例如 如果我单击图像 文本字段中的文本应该被清除 为了实现此实现 我创建了一个新类并使用
  • JS Analytics 电子商务回调

    我找不到任何地方如何使用hitCallback谷歌分析参数ecommerce send 在文档中 它唯一的例子是send pageview 这是我尝试过的代码 ga ecommerce send hitCallback function w
  • 在 python 中使用多个参数进行日志记录

    在 python 日志记录模块中 日志的格式如下 formatter logging Formatter asctime s name s levelname s message s simple example py applicatio
  • 为什么 Angular Guards canActivate 方法总是返回 false?

    我在登录后对用户进行基本身份验证 但发生了奇怪的行为 canActivate 返回 false 即使它是在正确的时间调用的 in 登录组件 private login this authService login this loginFor
  • 加载目录中的所有图像

    我的目录中有某些图像 我想加载所有这些图像来进行一些处理 我尝试使用load功能 imagefiles dir F SIFT Yantao demo data jpg nfiles length imagefiles Number of f
  • 单一资源的 Rails 嵌套路由

    我在单一资源上有一个嵌套路线 map resource account controller gt users do page page resources feeds end 我正在尝试制作一个表单来添加提要 我从这个开始 undefin
  • 一个 EC2 实例下的多个 WordPress 多站点 (AWS)

    我们正在尝试为一个 EC2 实例下的多站点配置 DNS 路由 具体来说 我们正在设置 WordPress 多站点的开发 测试和 UAT 环境 我们在这个网络上只有 2 个站点 主站点和一个网站 现在 我已成功将生产站点 在不同的 EC2 实
  • 在 Qt GUI 事件线程中检测到“我正在运行”

    我有这个功能来更新一些 GUI 的东西 void SavedConnections renderList Do GUI stuff Must run in Qt thread 我需要确保该函数不会从其他线程调用 我打算做的是将其推迟到事件循
  • Firebase 规则:如何阻止匿名访问?

    阅读 Firebase 规则文档 https firebase google com docs storage security 我找不到任何有关如何阻止匿名访问特定集合或文档的信息 换句话说 我想阻止未登录的用户 也想阻止以匿名身份登录的
  • 如何在反射中迭代列表

    我有一个名为 Students 的属性 其类型为List
  • 如何在 SBCL/Common Lisp 中与进程输入/输出交互

    我有一个文本文件 每行一个句子 我想使用 hunspell s 选项 对每行中的世界进行词形还原 由于我想分别获得每行的引理 因此将整个文本文件提交给 hunspell 是没有意义的 我确实需要一行接一行地发送 并为每一行提供 hunspe
  • 如何判断单词是否连续重复两次

    例如 我在 MySQL 数据库表字段中有以下段落 当地球介于天文物体之间时 天文物体的照明被切断 例如月食 这里这个词 object 连续出现两次 彼此相邻 我想检查这种情况是否出现在同一个表的其他记录中 有没有一种简单的方法可以使用 PH
  • 以编程方式设置 Segue 标识符

    假设我有一个带有文本字段和按钮的 ViewController 我想使用展开转场 以便在单击按钮后我可以将文本字段的信息获取到我的其他视图控制器 我想使用PrepareForSegue方法 这样我就可以在 展开 之前将文本字段中的文本保存在
  • 无法使用 FluentEmail 发送电子邮件中的嵌入图像

    我在用着流利的电子邮件 https github com lukencode FluentEmail在 ASP NET core 2 0 类库中 它将发送电子邮件通知 下面是我到目前为止尝试过的示例代码 using FluentEmail