首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >不使用DBMail从Server发送电子邮件

不使用DBMail从Server发送电子邮件
EN

Database Administration用户
提问于 2017-06-07 15:23:15
回答 1查看 4.2K关注 0票数 2

有没有一种不使用DBMail从server存储过程发送电子邮件的方法?默认情况下,DBMail对电子邮件使用base64编码进行硬编码。据我所知没有办法推翻这个。

我们需要在邮件服务器上解析/处理消息,而base64编码的消息很难被解析。我们不想尝试解码它们,而是使用其他方法发送电子邮件。

最好是不使用CDOSYS或CDONTS的?为什么?因为我们要迁移到,而Server不支持CDOSYS或CDONTS。

见此处:https://technet.microsoft.com/en-us/library/hh922965.aspx

具体而言:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
However, before you attempt to host a Web site on Server Core, it’s worth noting 
code that makes use of System.Web.Mail will fail because of the dependency on 
CDOSYS (which does not exist in Server Core). 

Microsoft recommends modifying Web application code to use System.Mail.Net 
instead of System.Web.Mail.

这是在引用web服务器上的asp/..net代码,但同样的限制可能也适用于安装在Core服务器上的SQL服务器。

因此,考虑到这两个限制(没有dbmail,也没有cdonts/cdosys),我们如何从存储过程发送邮件?有什么想法吗?)

谢谢!布拉德

EN

回答 1

Database Administration用户

发布于 2017-06-09 12:25:57

配置智能主机:

  • 单击“开始”,指向“程序”,指向“管理工具”,然后单击“Internet服务管理器”打开IIS管理器。
  • 打开服务器的树。右键单击“默认SMTP虚拟服务器”,然后单击“属性”。
  • 找到“传递”选项卡,然后单击“高级”。
  • 在“智能主机”文本框中键入SMTP邮件服务器的名称。如果不知道SMTP邮件服务器的名称,请与邮件管理员联系。
  • 确保简单邮件传输协议(SMTP)服务正在运行。SMTP服务是IIS管理服务的一部分。因此,IIS管理服务也必须正在运行。

创建一个存储过程以发送CDONTS:

可以使用类似于下面的代码在数据库中创建一个存储过程,该存储过程通过使用Server自动化存储过程来调用CDONTS对象模型发送电子邮件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE PROCEDURE [dbo].[sp_send_cdontsmail]  @From varchar(100),  @To varchar(100),  @Subject varchar(100),  @Body varchar(4000),  @CC varchar(100) = null,  @BCC varchar(100) = null  AS  Declare @MailID int Declare @hr int  EXEC @hr = sp_OACreate 'CDONTS.NewMail', @MailID OUT EXEC @hr = sp_OASetProperty @MailID, 'From',@From  EXEC @hr = sp_OASetProperty @MailID, 'Body', @Body  EXEC @hr = sp_OASetPropert, @MailID, 'BCC',@BCC  EXEC @hr = sp_OASetProperty @MailID, 'CC', @CC EXEC @hr = sp_OASetProperty @MailID, 'Subject', @Subject EXEC @hr = sp_OASetProperty @MailID, 'To', @To  EXEC @hr = sp_OAMethod @MailID,'Send', NULL  EXEC @hr = sp_OADestroy @MailID

接下来,使用您创建的存储过程并提供正确的参数: exec sp_send_cdontsmail‘某人@example.com’、‘omeone2@example.com’、'Test of CDONTS‘、'It works’--只有sysadmin固定服务器角色的成员才能运行OLE自动化存储过程。如果Server用户不是sysadmin固定服务器角色的成员,则不能使用示例中提到的存储过程发送电子邮件。在这种情况下,您可能需要开发一个客户端应用程序来发送带有CDONTS的电子邮件。例如,您可以使用应用程序。

CDONTS CDO用于它是一种特定于SMTP的简单邮件传输协议(SMTP)专用OLE服务器,专门为基于的应用程序提供消息传递功能,CDONTS向本地SMTP虚拟服务器发送电子邮件.然后,服务器将电子邮件路由到“智能主机”文本框中指定的SMTP邮件服务器。SMTP邮件服务器将邮件发送到To:参数(示例中的“someone2@example.com”)中指定的电子邮件地址。在From:参数中指定的名称显示为电子邮件的发件人(本例中为“someone@example.com”),主题为“CDONTS测试”,消息“它工作”作为电子邮件的正文。电子邮件中没有复制任何人,因为您没有为CC或BCC字段提供参数。您可以修改该示例,以便它将发送基于HTML的电子邮件或附件。

有关CDONTS的文档,请访问以下Microsoft网站:

http://msdn.microsoft.com/library https://support.microsoft.com/en-us/help/312839/how-to-send-e-mail-without-using-sql-mail-in-sql-server

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/175727

复制
相关文章
[Python基础06]函数的参数&返回值
我们通常在进行一些功能处理的过程中,需要执行一行或者多行代码来完成整个业务流程的处理,如:
周小董
2022/04/12
4K0
[Python基础06]函数的参数&返回值
python后的返回值为零
python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零
狼啸风云
2019/03/15
1.7K0
python后的返回值为零
Python 注解+参数+返回值小结
这篇文章偏记录类型,不是写的很细。我先说一下什么是注解,就是参数类型的显化操作,而且会给Python赋予一些静态语言的特性。
云深无际
2021/07/23
1.1K0
Python 注解+参数+返回值小结
Go语言函数的参数和返回值
第一类对象(first-class object)指可在运行期创建,可用作函数参数或返回值,可存入变量的实体。最常见的用法就是匿名函数。
博文视点Broadview
2020/06/12
2.5K0
Go语言函数的参数和返回值
open函数返回值为0
open函数是我们开发中经常会遇到的,这个函数是对文件设备的打开操作,这个函数会返回一个句柄fd,我们通过这个句柄fd对设备文件读写操作。
全栈程序员站长
2022/09/01
2.8K0
JVM的Xms和Xmx参数设置为相同值有什么好处?
最近正在重新学习JVM的内存结构及相关优化内容,无意中看到IDEA的VM配置(安装时默认配置)中有如下的配置:
程序新视界
2020/09/10
20.6K1
为什么禁止把函数参数默认值设置为可变对象?
有时候我们在编写函数时,会需要给一些参数设置默认值,这个时候我们需要牢记一点:禁止使用可变对象作为参数默认值。
活用数据
2022/10/04
1.3K0
@RequestParam 接收参数的值为null处理
@RequestMapping(value = “/test”) public String test( @RequestParam(value = “profit”,required = false,defaultValue = “0”) int profit){ System.out.println(“profit:”+profit); return “success”; } 第一种处理方式(如上图):defaultValue请求参数的默认值,一般和 required = false 一起使用
kirin
2021/03/25
3.3K0
为字段设置初始值
在开发中为字段设置初始值这是最基本的要求,但是很多开发人员会在构造函数变多的时候忘记给成员变量设置初始值。为了避免这个问题,我们最好在声明的时候直接初始化,而不是在实现构造函数的时候去初始化。编译器会帮助开发人员在每个构造函数开头放入一段代码,这段代码会把开发人员在定义成员字段时所指定的初始值设置给这些成员字段。如果没有显示定义构造函数,那么编译器就会先创建默认构造函数,之后再向其中加入初始化代码。
喵叔
2020/09/08
1.6K0
python中装饰器的参数与返回值
# 函数中如果没有使用return返回值,默认情况函数也是有返回值的,默认返回None
用户7886150
2020/12/19
8700
swagger中参数为数组dataType的设置
swagger中参数为数组dataType的设置
Java架构师必看
2021/09/22
3.5K0
swagger中参数为数组dataType的设置
ArcMap将栅格0值设置为NoData值的方法
  本文介绍在ArcMap软件中,将栅格图层中的0值或其他指定数值作为NoData值的方法。
疯狂学习GIS
2023/06/26
6010
ArcMap将栅格0值设置为NoData值的方法
Javascript设置函数参数默认值[ ES6/ES2015总结]
对于js设置函数参数默认值对于绝大多数小伙伴来说,那可以说是相当的简单的,在ES6/ES2015中语法很简单,但是有一些浏览器是不兼容的ES6/ES2015的,或许大家会说我们可以使用babel来编译支持低版本浏览器。
IT工作者
2022/01/26
1.7K0
java中给方法的参数设置默认值,java设置可选参数
今天在调整一个定时任务时需要将固定写死的查询日期通过外部传参来控制,如果没有传值给个默认值,于是了解了下java函数的参数默认值
高久峰
2023/06/29
7.8K0
接口测试不只测试参数和返回值
https://item.m.jd.com/product/10023427978355.html
顾翔
2021/02/02
7880
接口测试不只测试参数和返回值
python函数基础-参数-返回值-注释-01
函数就是有特定功能的工具 # python中有内置函数(python解释器预先封装好的)与自定义函数(用户自定义封装的)之分
suwanbin
2019/09/26
1.8K0
python函数基础-参数-返回值-注释-01
AOP高级用法——获取方法的参数和返回值
我们平时在使用springAop的时候,经常是将某一个方法定义为一个切入点,用来做前置,后置或环绕增强,但如果想得到切入点方法的参数,以及它的返回值就需要做一些特定的配置。
Java深度编程
2020/06/10
14.1K0
Java程序调用带参数的shell脚本返回值
首先来看看linux中shell变量($#,$@,$0,$1,$2)的含义解释 变量说明:
Javen
2018/08/21
3.2K0
【Python】函数进阶 ① ( 函数返回多个返回值 | 函数参数传递类型简介 | 位置参数 | 关键字参数 )
在函数中 , 如果要 返回 多个返回值 , 可以 在 return 语句中 , 设置多个返回值 , 这些返回值之间使用 逗号 隔开 , 这些返回值的类型是 元组 tuple 类型的 ;
韩曙亮
2023/10/11
1.6K0
kubernetes中为容器设置内核参数
注意:此方式如果使用了非安全内核参数,必须要先修改节点的kubelet配置,增加--allowed-unsafe-sysctls字段,并允许相关非安全参数,否则创建后,pod会报错SysctlForbidden,并大量不断创建pod,可能将集群搞挂
铜锣烧
2022/12/09
1.7K0

相似问题

方法,并将其返回值动态设置为输入参数。

23

为任何整数输入参数设置模拟返回值

11

将方法返回值设置为公共字符串

42

如果参数为空,则返回空值,否则返回参数的特定值。

30

为类设置返回值

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文