在 SQL Server 2005/2008 中,使用 Gmail 帐号配置数据库邮件功能

下面的脚本演示,在 SQL Server 2005/2008 中,使用 Gmail 帐号配置数据库邮件功能

 

-- =================================================

-- 启用数据库邮件功能

-- =================================================

EXEC sys.sp_configure N'show advanced options', 1

RECONFIGURE;

 

EXEC sys.sp_configure 'Database Mail XPs', 1;

RECONFIGURE;

 

 

-- =================================================

-- 配置

-- =================================================

DECLARE

    @account_name sysname,

    @profile_name sysname;

SELECT

    @account_name = N'GmailTest@gmail.com',  -- 数据库邮件帐号

    @profile_name = N'gmail';                -- 数据库邮件配置文件名

 

-- 数据库邮件帐号

EXEC msdb.dbo.sysmail_add_account_sp

    @account_name = @account_name,

    @email_address = N'GmailTest@gmail.com',  -- Email 地址

    @display_name = N'gmail test',            -- 回复地址

    @mailserver_name = N'smtp.gmail.com',     -- Gmail smtp 服务器地址

    @port = 25,                               -- 端口号(对于Gmail, 如果 25 不通则改用 456)

    @username = N'GmailTest@gmail.com',       -- Gmail 邮件地址

    @password = N'abc.123',                   -- Gmail 邮件帐号密码

    @use_default_credentials = 0,

    @enable_ssl = 1;                          -- 启用SSL 通讯加密

 

-- 数据库邮件配置文件

EXEC msdb.dbo.sysmail_add_profile_sp

    @profile_name = @profile_name;

   

-- 把数据库邮件帐号添加到邮件配置文件中

EXEC msdb.dbo.sysmail_add_profileaccount_sp

    @profile_name = @profile_name,

    @account_name = @account_name,

    @sequence_number = 1;

 

-- 授予任意用户使用数据库邮件配置文件的权限

EXEC msdb.dbo.sysmail_add_principalprofile_sp

    @principal_name = N'guest',

    @profile_name = @profile_name,

    @is_default = 0;

 

 

-- =================================================

-- 发送邮件

-- =================================================

EXEC msdb.dbo.sp_send_dbmail

    @profile_name = @profile_name,

    @recipients = N'GmailTest@gmail.com',      -- 收件人地址

    @subject = N'test mail from database',     -- 邮件主题

    @body = N'this is a test mail';            -- 邮件内容

 

 

-- =================================================

-- 删除配置

-- =================================================

/* --

DECLARE

    @account_name sysname,

    @profile_name sysname;

SELECT

    @account_name = N'GmailTest@gmail.com',

    @profile_name = N'gmail';

 

-- 从邮件配置文件中删除数据库邮件帐号

EXEC msdb.dbo.sysmail_delete_profileaccount_sp

    @profile_name = @profile_name,

    @account_name = @account_name;

   

-- 删除数据库邮件帐号

EXEC msdb.dbo.sysmail_delete_account_sp

    @account_name = @account_name;

 

-- 删除数据库邮件配置文件

EXEC msdb.dbo.sysmail_delete_profile_sp

    @profile_name = @profile_name;

 

 

-- 禁用数据库邮件功能

EXEC sys.sp_configure 'Database Mail XPs', 0;

RECONFIGURE;

 

EXEC sys.sp_configure N'show advanced options', 0

RECONFIGURE;

-- */

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是Python自动发邮件、读取数据库数据生成列表、填写在邮件正文表格的示例代码: ```python # 导入相关库 import smtplib import pymysql.cursors # Connect to the database connection = pymysql.connect(host='localhost', user='user', password='password', db='database_name', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) # 从数据库读取数据 with connection.cursor() as cursor: # 从表读取数据 sql = "SELECT * FROM `simple_table`" cursor.execute(sql) result = cursor.fetchall() # 生成邮件内容 table_html = "<table><tr><th>ID</th><th>Name</th><th>Age</th></tr>" for row in result: table_html += "<tr><td>{}</td><td>{}</td><td>{}</td></tr>".format(row['id'], row['name'], row['age']) table_html += "</table>" message = """\ <html> <body> <p>Dear Sir/Madam,</p> <p>Please find attached the list of data:</p> {} <p>Best regards,</p> <p>Your Name</p> </body> </html> """.format(table_html) # 发送邮件 server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login("your_email@gmail.com", "your_password") server.sendmail("your_email@gmail.com", "recipient_email@example.com", message) server.quit() ``` 这个代码可以实现从数据库读取数据,生成一个 HTML 表格,并将其填写在邮件正文,发送到指定的收件人。需要注意的是,这只是示例代码,需要根据实际情况进行修改。如果遇到了问题,可以在评论留言,我会尽力帮助你解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值