C#调用SQL邮件服务器发送邮件

该文章介绍了如何利用SQLServer的内置存储过程sp_send_dbmail搭建邮件服务器并发送邮件。通过提供数据库连接信息,设置参数如收件人、抄送人、密送人、邮件主题和内容,可以实现程序化地发送HTML格式的邮件。
摘要由CSDN通过智能技术生成

第一步:SQL邮件服务器的搭建

 

 第二步:调用SQL 邮件自带的sp_send_dbmail存储进行邮件发送

private static void SendEmail(SqlParameter[] paras = null)
        {
            string connString = "server='server ip';database=msdb;user id=sa;pwd=123456";

            using (SqlConnection conn = new SqlConnection(connString))
            {
                SqlCommand comm = new SqlCommand("sp_send_dbmail", conn);
                comm.CommandType = CommandType.StoredProcedure;
                conn.Open();
                if (paras != null)
                {
                    comm.Parameters.AddRange(paras);
                    comm.ExecuteNonQuery();
                }
                conn.Close();
            }
        }

//填充邮件参数,调用SendEmail方法发送邮件

string recipients = "user1@test.com;user2@test.com";

            
            string copy_recipients = "user3@test.com;";
            string blind_copy_recipients= "user4@test.com";
            string subject = "邮件标题" ;
           
            string body = "邮件内容(可用html格式填充内容)";
            SqlParameter[] paras = new SqlParameter[] {
            //发件账号 @profile_name
            //收件人 @recipients
            //标题 @subject
            //内容 @body
            new SqlParameter(){ParameterName="@profile_name",SqlDbType=SqlDbType.NVarChar,SqlValue="发件人名称" },
            new SqlParameter(){ParameterName="@recipients",SqlDbType=SqlDbType.NVarChar,SqlValue=recipients },
            new SqlParameter(){ParameterName="@copy_recipients",SqlDbType=SqlDbType.NVarChar,SqlValue=copy_recipients },
            new SqlParameter(){ParameterName="@blind_copy_recipients",SqlDbType=SqlDbType.NVarChar,SqlValue=blind_copy_recipients },


            new SqlParameter(){ ParameterName="@subject", SqlDbType=SqlDbType.NVarChar,SqlValue=subject },
            new SqlParameter(){ ParameterName="@body", SqlDbType=SqlDbType.NVarChar,SqlValue=body },
            new SqlParameter(){ ParameterName="@body_format", SqlDbType=SqlDbType.NVarChar,SqlValue="HTML" }
            };
            try
            {
                SendEmail(paras);
                

            }
            catch
            {
                MessBox.Show("发送失败!");
            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值