web应用中的邮件发送技巧

问题

realfun <[email protected]>
reply-to        [email protected]
to      [email protected]
date    Sun, Aug 31, 2008 at 15:00
subject [CPyUG:64210] web端发邮件通常是怎么做的?独立线程?Cron Job?

我发现发邮件过程比较慢,有时候用户添加一个评论,需要发邮件到被评论者邮箱和订阅者邮箱,很占时间。 实际上除了注册、密码找回等等操作,这些 是在收到request以后开一个独立线程呢,还是用Cron Job好?

我正在试Cron Job,shared host上面搞这个很麻烦。

BTW
发邮件的函数本地怎么测呢?同样的代码本地发邮件不会成功的。 我现在每次都辛苦的上传到server上再试,开发效率太低。

思路

Jiahua Huang <[email protected]>
reply-to        [email protected]
to      [email protected]
date    Sun, Aug 31, 2008 at 15:27
subject [CPyUG:64215] Re: web端发邮件通常是怎么做的?独立线程?Cron Job?

看来你时用 smtp 同步发的。

  • 简单改用本机 sendmail ( mail transport agent )就行。
  • Ubuntu 的 postfix、exim4 等都提供了 sendmail

解决

Leo Jay <[email protected]>
reply-to        [email protected]
to      [email protected]
date    Sun, Aug 31, 2008 at 15:42
subject [CPyUG:64219] Re: web端发邮件通常是怎么做的?独立线程?Cron Job?

2008/8/31 realfun <[email protected]>:

> 有道理,自己做个mock还不错
> 这样做上线之前好像还要改改啊,能不能做到不用改就直接上线呢?
> 呵呵因为本地采用了代码管理工具,文件只读,每次上线都改就稍微有些麻烦
>

比方说你本来的程序入口是code.py里的main函数,然后你发email是用一个叫 mailmodule模块的sendmail函数来发的。

那你可以另外创建一个文件叫localcode.py如下:

   1 import mailmodule
   2 def mock_sendmail(**args):
   3    # 这个就是mock函数,把你传进来的参数记录下来(比方说写在文件里)
   4    pass
   5 # 把mock给装上
   6 mailmodule.sendmail = mock_sendmail
   7 
   8 # 进入主程序
   9 import code
  10 code.main()

以后本地测试的时候,就起localcode.py,在线上跑的时候,就用code.py


反馈

创建 by -- ZoomQuiet [2008-08-31 08:13:19]

Name Password4deL ;) :( X-( B-)
Levitra   kyrewgyh gkzeqesy pujxirgs
2009-08-09 21:00:47
viagra   zqrkxhhk dcviyyzg wfxgppsw
2009-08-09 22:26:08
viagra   yjhoaveu kmenjfvn tulmssmo
2009-08-09 23:52:09
viagra   zdrwkzim bvjwwymd zyoeggrh
2009-08-10 01:15:27
Levitra   rrjdegsj uvemirqb fmvknvjr
2009-08-10 02:38:58
viagra   xqckgolc bxdodhnw djahthtt
2009-08-14 15:10:43
cialis   mytauqat wimykwoz ltuhhgvt
2009-08-14 16:34:52
viagra   uvprzzhw ibhscbwc jsyfrnxt
2009-08-14 17:59:07
prix cialis   bjaxsreb hlfysgli vqxllcsm
2009-08-14 19:22:04
viagra france   dymfjorn yzilluxr dhpvhryv
2009-08-14 20:49:10
cialis   uulsndhp tlodidnn edsfqbdd
2009-08-14 22:16:37
achat cialis   bdhklenm yaksjrrq bvyhgesl
2009-08-14 23:43:43
viagra   fgzndbhe fyncfrkq xkozgrnu
2009-08-15 01:09:31
viagra france   wfqkyflz bjvwhekn hzypmcol
2009-08-15 02:34:11
cialis france   okfefepk ttpsuxsz fkayfmhx
2009-08-15 03:58:17
viagra kaufen   arfgryen lbjuccmn brtvpwgd
2009-08-18 11:58:13
cialis 20mg   pmozffnu pqjjtxap vnuaipyf
2009-08-18 16:57:55
cialis 10mg   rwxebpks nysagoac wuwdkgpk
2009-08-19 11:14:51
cialis pas cher   jlnqlbxm vqhnagry mzvxpeib
2009-08-19 16:02:35
acquisto cialis orig   nttbfhho nqnrlflf qvqmzfwa
2009-08-21 07:25:27
acquistare cialis on   dltlietz zxeocrqe ghipsjux
2009-08-21 13:24:44
compra cialis   dcsljzpu ccgubvzv auljttvk
2009-08-21 19:20:48
viagra online   txjlhicx nwbhmxzz eculwzys
2009-08-22 01:19:03
acquistare cialis or   oivdujmc jqdhhtsi cwzrkqsm
2009-08-22 05:45:02
compra cialis in ita   exppmqqq apfwbtjq tlsvsmwu
2009-08-22 11:46:20
acheter cialis en fr   kzarsrpl tefjvbcr zspceepf
2009-08-23 00:15:02
achat cialis france   scdjgkdc lyhipwpo vopxmapt
2009-08-23 02:02:35
viagra   bmqceoky nrzruohx yjqnfjdp
2009-08-23 03:46:06
acheter viagra en li   rykafjut kujeznxk zitsumnq
2009-08-29 03:42:15
cialis prix   jjwqmufb rrdzpnbw iguohjuc
2009-08-29 05:21:46
viagra   kbjlecff ruerfpzb qqsqbhfu
2009-08-29 06:58:30
acheter viagra en li   uapsrmcu gtbfbkla yftqjdhq
2009-08-29 08:37:38
viagra cialis   bgjplibh ibislykk vcmydjbw
2009-08-29 10:18:19
cialis   zdeswqqe dklksgwq iopeujbf
2009-08-29 11:58:43
acheter cialis pas c   syughayl qaoxylfu jwrqimck
2009-08-29 13:35:59
acquisto viagra senz   ixqgirnx uyjeqczz txfwwmdc
2009-08-29 15:14:19
acheter viagra   jnypuksx giicfofd unkalwxo
2009-08-29 16:51:53
acquistare viagra su   zldupcyd zxctrtrn cweuluss
2009-08-29 18:29:49

PageCommentData