Email 我可以替换Sitecore电子邮件发送服务吗?

Email 我可以替换Sitecore电子邮件发送服务吗?,email,smtp,sitecore,Email,Smtp,Sitecore,默认情况下,可以在Sitecore web.config中配置smtp服务器。但是,是否有可能劫持整个电子邮件发送部分以使用不同的方法而不是smtp服务器?有管道吗 例如,我想使用另一个web服务发送所有电子邮件,或者我想将所有电子邮件保存到数据库中,而不是实际发送它们 另一个不同的问题是,默认情况下内容交付实例是否需要发送电子邮件?我假设所有开箱即用的电子邮件发送都来自内容创作实例,对吗 据我所知,Sitecore中只有工作流需要发送电子邮件,可以通过更改电子邮件操作进行自定义。(假设没有电子

默认情况下,可以在Sitecore web.config中配置smtp服务器。但是,是否有可能劫持整个电子邮件发送部分以使用不同的方法而不是smtp服务器?有管道吗

例如,我想使用另一个web服务发送所有电子邮件,或者我想将所有电子邮件保存到数据库中,而不是实际发送它们

另一个不同的问题是,默认情况下内容交付实例是否需要发送电子邮件?我假设所有开箱即用的电子邮件发送都来自内容创作实例,对吗

据我所知,Sitecore中只有工作流需要发送电子邮件,可以通过更改电子邮件操作进行自定义。(假设没有电子邮件活动模块,没有市场网络表单模块等)

任何见解都会有很大帮助,谢谢

--------------更新-----------------29/09/2015--------------

我已经得到了我的答案,谢谢大家

基本上,我不需要在CDS实例上使用smtp服务器,所有电子邮件发送都可以通过CAS实例上的管道控制


然而,当我检查源代码时,只有一个地方是“提醒”,它使用smtp服务器直接发送电子邮件。因此,如果这个函数对你很重要,你应该考虑更新这个函数。

< P>拦截所有电子邮件最简单的方法是配置SITECORE将所有电子邮件发送到本地托管的SMTP服务器(127.0.0.1),然后使用自定义代码从那里抓取它们。p>
有很多免费的SMTP服务器,请确保在投入生产之前使用大量电子邮件对其进行测试。

拦截所有电子邮件的最简单方法是将Sitecore配置为将所有电子邮件发送到本地托管的SMTP服务器(127.0.0.1),然后使用自定义代码从那里获取它们

有很多免费的SMTP服务器,在投入生产之前,请确保使用大量电子邮件对其进行测试。

绝对是

在运行时定义
SMTPClient
时,可以通过以下代码设置服务器的属性

SmtpClient客户端=新的SmtpClient(“主机”);
client.Credentials=新的网络凭据(“用户名”、“密码”);
MailMessage MailMessage=新建MailMessage();
mailMessage.from=”sender@gmail.com";
mailMessage.To.Add(“recipient@gmail.com");
mailMessage.body=“body”;
mailMessage.subject=“subject”;
client.Send(mailMessage);
您可以做的是,不必在代码中硬编码值,而是可以从Sitecore项目中检索值并使用这些值,这样可以更好地控制内容编辑器,甚至在功能的不同部分使用不同的SMTP服务器

Item-emailItem=Sitecore.Context.Database.GetItem(“项目Id”);
字符串from=emailItem[“from”];
字符串to=emailItem[“to”];
string server=emailItem[“邮件服务器”];
字符串subject=emailItem[“subject”];
字符串message=emailItem[“message”];
Sitecore的
EXM
aka
ECM
之外还有一个
SendEmail
管道,如果您选择
EXM
路线,可以覆盖该管道。它有两个
处理器
FillEmail
SendEmail
,您可以使用或删除并添加自己的
处理器
,以实际发送邮件

可以将电子邮件保存到数据库,或者更确切地说是内容,而不是发送它们。这可以通过Sitecore中的自定义代码或营销人员的
Webforms
来实现,它具有
保存操作
,用于发送电子邮件或保存到数据库,而且配置起来非常简单

正如你所说,没有必要在任何场合都发送电子邮件,更多的是确定你想要实现什么,以及发送电子邮件、保存到数据库等是否更相关。Sitecore的好处在于,您可以通过编程方式创建
,并将信息存储在其中,省去了创建数据库表、管理
连接字符串
、设置
EntityFramework
等方面的麻烦

这里是一个简单的博客

Sitecore工作流发送电子邮件是可选的,可以通过从
工作流状态
项下删除
发送电子邮件
命令操作
项来删除,然后发布。

绝对是

在运行时定义
SMTPClient
时,可以通过以下代码设置服务器的属性

SmtpClient客户端=新的SmtpClient(“主机”);
client.Credentials=新的网络凭据(“用户名”、“密码”);
MailMessage MailMessage=新建MailMessage();
mailMessage.from=”sender@gmail.com";
mailMessage.To.Add(“recipient@gmail.com");
mailMessage.body=“body”;
mailMessage.subject=“subject”;
client.Send(mailMessage);
您可以做的是,不必在代码中硬编码值,而是可以从Sitecore项目中检索值并使用这些值,这样可以更好地控制内容编辑器,甚至在功能的不同部分使用不同的SMTP服务器

Item-emailItem=Sitecore.Context.Database.GetItem(“项目Id”);
字符串from=emailItem[“from”];
字符串to=emailItem[“to”];
string server=emailItem[“邮件服务器”];
字符串subject=emailItem[“subject”];
字符串message=emailItem[“message”];
Sitecore的
EXM
aka
ECM
之外还有一个
SendEmail
管道,如果您选择
EXM
路线,可以覆盖该管道。它有两个
处理器
FillEmail
SendEmail
,您可以使用或删除并添加自己的
处理器
,以实际发送邮件

可以将电子邮件保存到数据库,或者更确切地说是内容,而不是发送它们。这可以通过Sitecore中的自定义代码或营销人员的
Webforms
来实现,后者具有针对Sendin的
保存操作