提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:李显亮|2019-12-04 10:02:12.297|阅读 227 次
概述:Aspose.Email for .NET是一套全面的电子邮件处理API,可用于构建跨平台应用程序。近期的更新中,Aspose.Email支持AMP HTML电子邮件。本文我们来了解一下使用Aspose.Email API创建,保存和更新AMP电子邮件的过程。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
AMP(加速的移动页面)是Google的开发人员软件包,它允许开发负载更快的轻量级系统。AMP是由HTML,JavaScript和CSS组成的框架,它们是为用户提供Web内容优先格式的标准。
Aspose.Email for .NET是一套全面的电子邮件处理API,可用于构建跨平台应用程序。近期的更新中,Aspose.Email支持AMP HTML电子邮件。通过将Google的AMP项目的一部分用于电子邮件,Aspose.Email目前拥有大量要使用的组件列表,这种方法的主要优点是提高了消息下载速度,这对大多数用户来说至关重要。
除了速度快之外,AMP电子邮件还可以在电子邮件客户端内部呈现完全交互式的电子邮件,客户可以直接与电子邮件进行交互,例如填写表格或回复调查而无需离开电子邮件客户。
慧都网是正版Aspose大陆地区正式授权经销商,拥有负责正版Aspose免费试用,咨询,销售等服务,旨在为用户提供优质便捷的服务。Aspose.Total优惠大放送,直降10000元!。
下面我们来了解一下使用Aspose.Email API创建,保存和更新AMP电子邮件的过程。
string dataDir = RunExamples.GetDataDir_Output();
AmpMessage msg = new AmpMessage();
msg.HtmlBody = "Hello AMP";
//add AmpAnim component
AmpAnim anim = new AmpAnim(800, 400);
anim.Src = "//placekitten.com/800/400";
anim.Alt = "Test alt";
anim.Attribution = "The Go gopher was designed by Reneee French";
anim.Attributes.Layout = LayoutType.Responsive;
anim.Fallback = "offline";
msg.AddAmpComponent(anim);
//add AmpImage component
AmpImage img = new AmpImage(800, 400);
img.Src = "//placekitten.com/800/400";
img.Alt = "Test alt";
img.Attributes.Layout = LayoutType.Responsive;
msg.AddAmpComponent(img);
//add AmpCarousel component
AmpCarousel car = new AmpCarousel(800, 400);
img = new AmpImage(800, 400);
img.Src = "//amp.dev/static/img/docs/tutorials/firstemail/photo_by_caleb_woods.jpg";
img.Alt = "Test 2 alt";
img.Attributes.Layout = LayoutType.Fixed;
car.Images.Add(img);
img = new AmpImage(800, 400);
img.Src = "//placekitten.com/800/400";
img.Alt = "Test alt";
img.Attributes.Layout = LayoutType.Responsive;
car.Images.Add(img);
img = new AmpImage(800, 400);
img.Src = "//amp.dev/static/img/docs/tutorials/firstemail/photo_by_craig_mclaclan.jpg";
img.Alt = "Test 3 alt";
img.Attributes.Layout = LayoutType.Fill;
car.Images.Add(img);
msg.AddAmpComponent(car);
//add AmpFitText component
AmpFitText txt = new AmpFitText("Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt.");
txt.Attributes.Width = 600;
txt.Attributes.Height = 300;
txt.Attributes.Layout = LayoutType.Responsive;
txt.MinFontSize = 8;
txt.MaxFontSize = 16;
txt.Value = "Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt.";
msg.AddAmpComponent(txt);
//add AmpAccordion component
AmpAccordion acc = new AmpAccordion();
acc.ExpandSingleSection = true;
Section sec = new Section();
sec.Header = new SectionHeader(SectionHeaderType.h2, "Section 1");
sec.Value = new SectionValue("Content in section 1.");
acc.Sections.Add(sec);
sec = new Section();
sec.Header = new SectionHeader(SectionHeaderType.h2, "Section 2");
sec.Value = new SectionValue("Content in section 2.");
acc.Sections.Add(sec);
img = new AmpImage(800, 400);
img.Src = "//placekitten.com/800/400";
img.Alt = "Test alt";
img.Attributes.Layout = LayoutType.Responsive;
sec = new Section();
sec.Header = new SectionHeader(SectionHeaderType.h2, "Section 3");
sec.Value = new SectionValue(img);
acc.Sections.Add(sec);
msg.AddAmpComponent(acc);
//add AmpForm component
AmpForm form = new AmpForm();
form.Method = FormMethod.Post;
form.ActionXhr = "//example.com/subscribe";
form.Target = FormTarget.Top;
FormField field = new FormField("Name:", "text");
field.Name = "name";
field.IsRequired = true;
form.Fieldset.Add(field);
field = new FormField("Email:", "email");
field.Name = "email";
field.IsRequired = true;
form.Fieldset.Add(field);
field = new FormField();
field.InputType = "submit";
field.Value = "Subscribe";
form.Fieldset.Add(field);
msg.AddAmpComponent(form);
msg.Save(dataDir + "AmpTest_1.eml");
MailMessage savedmsg = MailMessage.Load(dataDir + "AmpTest_1.eml");
AmpMessage ampMsg = savedmsg as AmpMessage;
if (ampMsg != null)
{
DateTime dt = new DateTime(2019, 9, 27, 1, 1, 1, DateTimeKind.Utc);
AmpTimeago time = new AmpTimeago(dt);
time.Attributes.Width = 600;
time.Attributes.Height = 300;
time.Attributes.Layout = LayoutType.Fixed;
time.Locale = "en";
time.Cutoff = 600;
ampMsg.AddAmpComponent(time);
ampMsg.Save(dataDir + "AmpTest_2.eml");
}还想要更多吗?您可以点击阅读【2019 · Aspose最新资源整合】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn




在现代软件开发过程中,自动化单元测试是确保代码质量与可靠性的关键环节。尤其对于特定框架(如MFC)的代码,测试复杂度显著增加,常因依赖外部资源或交互操作而难以在静默环境中顺利执行。Parasoft C/C++test作为专业的软件测试工具,致力于帮助开发团队高效实施自动化测试,通过其强大的桩函数功能,能够有效模拟依赖组件的行为,从而实现对复杂逻辑的隔离测试。
本文将为大家介绍如何在MyEclipse中使用XDoclet开发EJB 2 Session Bean,欢迎下载最新版体验!
如果能将 CSV 自动转换为 PDF ,就能快速生成清晰、美观的报表,既节省手动排版时间,又能保持数据的专业呈现。本文将介绍如何使用 Spire.XLS for Java 实现这一过程——从加载 CSV 到输出高质量 PDF,仅需数行代码即可完成。
Parasoft C/C++test是一款专为C/C++代码设计的自动化测试工具,通过静态代码分析、单元测试和运行时错误检测等功能,帮助开发团队在早期发现并修复缺陷,提升代码质量和开发效率 。在实际使用中,尤其是在VC6此类旧版开发环境中执行单元测试时,可能会因环境兼容性问题触发链接错误。
相关产品
Aspose.Email是用于开发 email 功能的应用程序的控件,支持 Outlook PST, EML, MSG和MHT 格式,允许开发者直接与 SMTP、POP、FTP以及 MS Exchange 服务器进行工作。
最新文章 MORE
永利最大(官方)网站相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站