通过电子邮件将图像作为嵌入图像发送到正文中时出现问题.图像文件显示为附件,但是内嵌图像部分显示为红色x.
这是我到目前为止所拥有的
LinkedResource inline = new LinkedResource(filePath);
inline.ContentId = Guid.NewGuid().ToString();
MailMessage mail = new MailMessage();
Attachment att = new Attachment(filePath);
att.ContentDisposition.Inline = true;
mail.From = from_email;
mail.To.Add(data.email);
mail.Subject = "Client: " + data.client_id + " Has Sent You A Screenshot";
mail.Body = String.Format(
"<h3>Client: " + data.client_id + " Has Sent You A Screenshot</h3>" +
@"<img src=""cid:{0}"" />", inline.ContentId);
mail.IsBodyHtml = true;
mail.Attachments.Add(att);
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一个代码来发送带有嵌入式图像的HTML电子邮件.
我已经尝试过带图像的简单HTML电子邮件,但这张图片来自服务器.
Laravel 5.3引入了一项名为notification的新服务,允许通过简单流畅的语法构建电子邮件(以及其他通知):
return (new MailMessage)
->greeting('Hello!')
->line('One of your invoices has been paid!')
->action('View Invoice', $url)
->line('Thank you for using our application!');
Run Code Online (Sandbox Code Playgroud)
将图像添加到电子邮件通知中的雄辩方法是什么?我已经发布了供应商文件来修改基本模板.
我的想法目前在于:
Illuminate\Notifications\Messages\SimpleMessage为一个新的局部类,沿着线SimpleMediaMessage与几个额外的方法(例如:->image(src, url, alt))SimpleMediaMessage通过构建的媒体阵列创建特定于该循环的模板->image这对于像电子邮件中的图像这样简单的事情来说似乎非常沉重.我错过了什么吗?有更好的方法吗?
编辑清晰
当我提到图像时,我指的是在消息本身中可见的横幅和轨迹图像(而不是单独的附件).
附图显示a)红色当前可以实现的目标,以及b)紫色我想要的东西.
第二次编辑
重新阅读到目前为止发布的答案,特别是@Erics,我看到通过对模板进行非常简单的修改,您实际上可以执行以下操作:
->line("<img src='foo.example/bar.jpg' />")
Run Code Online (Sandbox Code Playgroud)
需要修改模板以允许不安全的标记:
// Note this is in two spots - intro + outro
{{ $line }} --> becomes --> {!! $line !!}
Run Code Online (Sandbox Code Playgroud)
这种方法的缺点:
除非您在电子邮件模板之外执行此操作,否则图像无法利用内联样式,例如:
- > line("<img style ='max-width:570px;/*所有其他垃圾,使图片在电子邮件中看起来不错*/'src …
我想创建一份包含文件/图像上传的提交表单。公司徽标/图片等的图像。通常我知道如何附加图像,作为邮件中的附件,但我希望将图像作为图像标签附加在邮件正文上,这样当我打开电子邮件时,我可以看到所有包含图像的文件,然后打印来自电子邮件。
下面的电子邮件示例
<table width="500" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th scope="row">Your Name</th>
<td>[your-name]</td>
</tr>
<tr>
<th scope="row">Your Email</th>
<td>[your-email]</td>
</tr>
<tr>
<th scope="row">Subject</th>
<td>[your-subject]</td>
</tr>
<tr>
<th scope="row">Your Message</th>
<td>[your-message]</td>
</tr>
<tr>
<th scope="row">Picture</th>
<td><img src="[file-305]"></td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
有什么方法可以发送邮件正文中图像标签上的图像,或者可以将其作为 pdf 文件完整发送吗?
如果有任何免费或付费插件也可以。
在我的 Spring Boot 应用程序中,我使用 Thymeleaf 生成 HTML 电子邮件。我想<img>在这些电子邮件中包含一个。图像存储在/src/main/resources/static/img/logo.png。
我已经确认可以通过在本地启动应用程序并http://localhost:8080/img/logo.svg在浏览器中请求来解析图像。
要将这张图片包含在 HTML 中,我已经尝试了以下所有内容
<img th:src="@{/img/logo.png}" /><img th:src="@{img/logo.png}" /><img th:src="@{~/img/logo.png}" /><img src="data:image/png;base64,iVBORw0KGgoAA..." />每一个的结果是:
<img src="img/logo.png" />在电子邮件中显示为损坏的图像<img src="/img/logo.png" />在电子邮件中显示为损坏的图像我想为了在电子邮件中正确呈现图像,我需要提供绝对 URL,但我不确定如何实现。
部分问题在于,电子邮件之所以没有显示是因为 URL 不正确,还是因为电子邮件客户端阻止了图像,这一点并不明显。
我认为这很明显,但显然不是:我不能使用任何将主机名硬编码为的解决方案,localhost:8080因为这只是我在本地运行时使用的 URL,而且我还需要它在其他环境中工作,例如 prod
所以这是我的情况.
我需要以HTML格式发送电子邮件,其中嵌入了图像.我尝试将我的图像转换为base64,但它不起作用.
该电子邮件有3个图像,类型为System.Drawing.Image.我只需要在我的html格式化字符串中获取它们.
我必须使用OpenERP中的电子邮件模板发送图像,但我必须插入它就像我们在gmail,yahoo中有插入图像的功能一样,并且也在stackoverflow.com中.
我必须发送这样的图像是因为我希望它应该在邮件打开的同时显示,以及文本.
如果我使用附件发送它,它会在附件中显示,我们可以在下载图像后看到它们.我不需要这个下载选项,我需要的是打开图像.
提前致谢 !
我想在Python/Django中编写包含以下部分的HTML邮件:
我关注了这篇博文.
结果:
如何在python中的一个邮件中创建两种方式(下载(info.pdf)和inline(logo.png))?
email ×3
html ×3
c# ×2
image ×2
php ×2
django ×1
google-maps ×1
html-email ×1
iframe ×1
inline ×1
laravel ×1
laravel-5 ×1
laravel-5.3 ×1
mime ×1
openerp ×1
python ×1
smtp ×1
spring-boot ×1
thymeleaf ×1