我正在尝试自动构建HTML电子邮件,并试图弄清楚是否有标准和电子邮件工作中的哪些属性以及哪些必须存在.我需要一个吗?如果没有必要有一个身体?我是否需要指定我正在使用的Doctype?
我在他们的示例中使用Zend Framework他们没有设置任何东西,但内容与"样式"代码http://framework.zend.com/manual/de/zend.mail.html-mails.html
所以你知道为什么我需要HTML.这看起来很愚蠢,但我们公司正在编写支持软件和一个关键的"错误"或功能请求,所有的beta测试人员都是基本的HTML,因此他们可以通过使重量单词变胖,斜体,下划线等突出显示重要单词.
我仍然想弄清楚,为什么我不能在自定义电子邮件的正文中应用HTML格式.我确信我错过了一些东西,或者我需要一双新的眼睛!
这是添加到<head>网页的信息
<head runat="server">
<link href="~/MyStyle.css" rel="stylesheet" type="text/css" />
</head>
Run Code Online (Sandbox Code Playgroud)
Mystyle.css 包含以下内容
span.orange
{
color: #FF6D06;
font-family: tahoma;
font-size: 10pt;
}
Run Code Online (Sandbox Code Playgroud)
这是身体的一部分......
Dim HtmlString as string = "<span class='orange'>This one should be painted</span>"
Run Code Online (Sandbox Code Playgroud)
这是使用Net.Mail发送的
Dim objMail As New Mail.MailMessage (blah, blah blah)
objMail.IsBodyHtml = True
Run Code Online (Sandbox Code Playgroud)
更新:首先感谢您的意见.电子邮件本身不以任何方式以样式表引用.那么除了将样式表附加到电子邮件之外,我还有哪些选项?
我发现这个宝石是一种发送邮件的好方法,但我似乎无法发送任何HTML.如果我写下面的内容:
Pony.mail(
:to => message[:to],
:from => @account[:from],
:subject => message[:subject],
:content_type => 'text/html',
:html_body => "<h1>hey there!</h1>",
:via => :smtp,
:smtp => {
:host => MY_HOST,
:port => PORT,
:auth => AUTH,
:user => MY_USER,
:password => MY_PASSWORD,
:tls => true } )
Run Code Online (Sandbox Code Playgroud)
上面的代码发送邮件但邮件在gmail中显示为空.
任何帮助将不胜感激.
谢谢.
想要知道是否有任何函数/类/等...来帮助我的HTML因此而影响电子邮件的990字符限制.
问题:( 来源)
请注意,邮件服务器对电子邮件中包含的每一行都有990个字符的限制.如果发送的电子邮件包含长度超过990个字符的行,则这些行将被其他行结束字符细分,这可能会导致电子邮件中的损坏,特别是对于HTML内容.要防止这种情况发生,请在电子邮件中的适当位置添加自己的行结束字符,以确保没有行超过990个字符.
其他人似乎都有这个问题?你是怎么解决这个问题的?
听起来我需要找到一个分割HTML并手动添加换行符的好地方,呃......
更新:
它是包含许多行的指法数据.所以我需要添加一个\n或<br />某个地方?
更新#2:添加MIME类型代码
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1\r\n";
$headers .= "Content-Transfer-Encoding: quoted-printable\r\n"; // added this, but still no results
$headers .= "From: from@email.com\r\n";
Run Code Online (Sandbox Code Playgroud)
这是我如何调用函数:
我原来怎么称呼:
return $html;
Run Code Online (Sandbox Code Playgroud)
我尝试了什么:
return imap_8bit($html); // not working, nothing is captured in the error log
Run Code Online (Sandbox Code Playgroud)
和
return imap_binary($html); // not working, nothing is captured in the error log
Run Code Online (Sandbox Code Playgroud)
更新#3(添加邮件功能)
try {
mail(
'to@email.com',
'Subject of Email',
$html,
$headers
);
} catch …Run Code Online (Sandbox Code Playgroud) 我们的系统每天早上通过Reporting Services向所有用户发送"每日更新"电子邮件.如果人们在电脑上就没有问题.但是,对于移动用户来说,某些移动设备电子邮件客户端无法呈现电子邮件.但是,它们都可以呈现pdf文件.
所以......快速解决方法是为每个用户创建两个订阅; 一个带有正文中的消息,另一个带有附加pdf中的消息.这会产生恼人的摩擦力.我希望发送一封电子邮件,并在正文中附上一个重复的pdf版本.
有简单的解决方案吗?
仅供参考,我们通过Reporting Services Subscriptions进行管理.
在php.net示例中mail(),使用了两个不同的地址$to和附加标题信息"To:...":
<?php
// multiple recipients
$to = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';
$subject = 'Birthday Reminders for August';
// message
$message = '<html> ... </html>';
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers …Run Code Online (Sandbox Code Playgroud) 我们有一个内容管理的解决方案(SDL Tridion,具体而言;问题更为一般),其中包括多个具有不同语言内容的网站.它们共享许多基于Razor的模板,这些模板用于在发布页面时呈现具有特定注入内容的HTML片段.
CRM也通过CMS进行管理,同样的模板用于创建电子邮件新闻稿.这些HTML电子邮件包含图像,这些图像将发布到管理相关分发列表的任何站点.由于模板系统是通用的,并且CMS没有最终产品的绝对URL的概念,因此这些图像都嵌入了相对地址.我们有能力将绝对URL作为元数据应用于CMS中的不同网站,并编写.Net扩展以将这些URL格式化为渲染图像标记; 但是,这会给这项工作增加相当大的开销.
我们可以通过在电子邮件标记<base href="..." />的<head>部分中使用标记来解决此问题.这似乎在Outlook中起作用,至少; 但是,我无法找到有关电子邮件客户端执行和不支持此标记的最新信息.
那么问题是:电子邮件客户端(特别是基于浏览器的客户端)的支持程度如何<base>?
我正在创建一个时事通讯,经过大量的努力,除了android的gmail应用程序外,它无处不在.问题是它似乎有一个最小的字体大小,并导致我的表中断.
有没有办法克服最小字体大小而不是媒体查询,因为它很可能会被剥离.
例如,在iphone的Mail应用程序中,要克服我使用的最小字体大小-webkit-text-size-adjust:none;
是否有类似的东西?
谢谢
我正在尝试通过Excel自动发送电子邮件,但新行命令无效!我试过了<br/>, vbCrLf而且vbNewLine
.HTMLbody = "Hello" & vbNewLine & "Please find attached the above invoices and backup" & vbNewLine & _
"Any queries please let me know" & vbNewLine & "Regards" & vbNewLine & Signature
Run Code Online (Sandbox Code Playgroud)
它只是Hello Please find attached the above invoices and backup Any queries please let me know Regards作为一条线给予!
我在ASP.NET核心2.0类库中使用FluentEmail,它将发送电子邮件通知.
下面是我到目前为止尝试过的示例代码:
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); …Run Code Online (Sandbox Code Playgroud) html-email ×10
email ×5
css ×2
html ×2
php ×2
android ×1
base ×1
coding-style ×1
email-client ×1
excel ×1
excel-2007 ×1
excel-vba ×1
fonts ×1
formatting ×1
mail-server ×1
pdf ×1
pony ×1
ruby ×1
vba ×1