# 赵瑞萍:评论邮件通知模块,用于评论提交后发送邮件通知 # 核心功能:向评论者发送感谢邮件,向被回复者发送评论回复通知,支持多语言和链接跳转 # 赵瑞萍:导入日志模块,记录邮件发送过程中的信息和异常 import logging # 赵瑞萍:导入Django国际化翻译工具,实现邮件内容多语言支持 from django.utils.translation import gettext_lazy as _ # 赵瑞萍:导入项目工具函数,获取站点信息和发送邮件 from djangoblog.utils import get_current_site # 获取当前站点域名,用于构建文章链接 from djangoblog.utils import send_email # 项目封装的邮件发送函数 # 赵瑞萍:创建当前模块的日志记录器,命名为当前模块名,便于日志定位 logger = logging.getLogger(__name__) def send_comment_email(comment): """ 赵瑞萍:发送评论相关邮件通知的核心函数 分两种场景发送邮件: 1. 向当前评论的发布者发送感谢评论邮件 2. 若当前评论是回复其他评论(有父评论),向被回复者发送回复通知邮件 参数:comment - 已保存的Comment模型实例,包含评论、作者、关联文章、父评论等信息 """ # 赵瑞萍:获取当前站点的域名(如www.example.com),用于构建完整的文章访问链接 site = get_current_site().domain # 赵瑞萍:邮件主题(支持多语言,根据项目语言配置自动切换) subject = _('Thanks for your comment') # 赵瑞萍:构建评论所属文章的完整URL(HTTPS协议+域名+文章绝对路径) article_url = f"https://{site}{comment.article.get_absolute_url()}" # 赵瑞萍:构建给评论者的感谢邮件内容(HTML格式,支持超链接) # 使用字符串格式化替换占位符,注入文章URL和标题 html_content = _("""
Thank you very much for your comments on this site
You can visit %(article_title)s to review your comments, Thank you again!