Skip to Content

将帖子备份到邮箱的Drupal模块

labrador 的头像
自己随手写的,基于Action/Trigger模式,可以在帖子被更新时把贴子源代码和一些基本信息发送到指定邮箱。收到的邮件类似于:
[comment] 测试测试,邮件标题后面应该有发帖人 (labrador)‏
From:	 
Sent:	Tuesday, January 06, 2009 11:41:58 PM
To: 	
--------------------------------------------------
type: comment
title: 测试测试,邮件标题后面应该有发帖人
user: labrador
url: http://www.minilinux.net/node/633#comment-2757

测试测试,邮件标题后面应该有发帖人
用system模块中的send_email_action可以完成类似的功能,不过它在发送前用了html转txt,会损失贴子中的很多格式细节。

发现了一个小问题。这个模块调用drupal_mail()发送邮件的过程中,drupal_mail()调用了drupal_wrap_mail()来调整邮件的格式,这会导致所要备份贴子中增加一些断行,从而与原来的文本不完全一致。解决办法有:
  • 修改drupal_mail() ,去掉其中对drupal_wrap_mail()的调用,或者多设一个开关来控制。优点:实现简单;缺点:要改drupal系统文件,可能对drupal其他功能有影响。
  • 用MIME Mail模块来发邮件,把原帖作为邮件的attachment。优点:帖子可以完全忠实原样的保存下来;缺点:需要修改代码,需要引入其他模块。
  • 用gmail收备份邮件,gmail可以部分识别哪些是为wrap而增加的断行,从而重新整理格式。优点:不用改代码;缺点:gmail重新整理的也不完全准确。
  • 鸵鸟政策,装作没看见。因为这些都是备份,只有在出事的时候才需要。另外每天都有数据库的备份,即使出问题,也只需要手工整理一下一天以内的新贴的换行问题,这并不是什么难事。优点:什么都不用做;缺点:出现大灾难以后所需恢复时间略长。
我最欣赏的还是鸵鸟政策,呵呵。
附件大小
bak2mail-6.x-1.0.tar.gz1.17 KB

发表新评论

  • 你可以在文本中使用BBCode标记语言。 URL会自动被转为链接。

更多关於格式化选项的信息

CAPTCHA
请验证您是否是机器人。
Image CAPTCHA
Enter the characters shown in the image.