SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 8497|回复: 8

[求助] action notification hook发送邮件通知deliver出错

[复制链接]
发表于 2007-1-11 14:53:50 | 显示全部楼层 |阅读模式
1。action notification hook,在$mailmsg->Deliver()出错,请问是什么问题,而定制email_rule来发送邮件是正常的
; }7 Y$ g# }& J3 Q' X+ ?2 h' R' y2。我想自定义邮件body,是否只能通过脚本来处理/ h& c# B! z$ H  `! l5 h. c3 m
脚本:6 z6 @3 L/ @* S' ~% d/ W
$session = $entity->GetSession();7 ?( D9 [6 ]; H/ ?
        $session->OutputDebugString("\ndddddddddddddddddddd");* i) o( \, q7 g) d* ^$ X9 N9 q
        $aa = $session->IsEmailEnabled();
7 `' l( @; x' }4 F2 c! }$ l        $session->OutputDebugString("\ndddddddddddddddddddd=".$aa);
* `$ P  @, L4 y3 K$ `" X5 J5 q        my $mailmsg = CQMailMsg::Build();
# Y) V  m: W* S& W5 ~$session->OutputDebugString("\n4444444444444444444444444444444");
- s4 Z8 K: C4 O1 ~        $msg_to = "ssli@longtop.com";% i( L2 G! N5 n1 t: t* F
        $mailmsg->AddTo($msg_to);
  d* e, y, D! G7 b9 E1 X5 I% N$ M
        $msg_subject = "Hello";' P  M& e' _) x8 W( A
        $mailmsg->SetSubject($msg_subject);
8 ?4 d0 u* L1 G' R. A% j
% N2 h/ E% f4 U4 o+ g7 N' L/ ]9 Q        $msg_body = "this is a email  for you ";
7 ~; }) o1 M4 w6 o. }/ ^- g+ o7 C        $mailmsg->SetBody($msg_body);% L5 v$ C( J) l$ L7 x
/ U) v2 S& y- X$ w# e# g
        $mailmsg->Deliver();
  y  i# ~9 E. N. l# _# ]$session->OutputDebugString("\n55555555555555555555555555555555");7 u2 {6 O3 A  `1 N% c3 S
        CQMailMsg::Unbuild($mailmsg);9 w3 C0 I5 C6 K' @
        $session->OutputDebugString("\ndddddddddddddddddddd33333333333333333333");
% |# ^' x! |9 f; p7 f4 Z9 Z: d' L3 y
打印的错误信息

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
发表于 2007-1-11 15:13:25 | 显示全部楼层
邮件发送都是通过SMTP服务来完成的,
: G' x+ R; [: s0 ^5 i: Z4 p0 n到IIS下面或Services.msc下面看看该服务是否处于关闭状态,否则打开。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-11 15:32:46 | 显示全部楼层
这个deliver和用定制email_rule的机制不一样吗?; L( r) m, W- M7 N2 r
我用email_rule是可以成功发送的
  {2 X6 I$ X  ^# r: s- a) P5 j0 i而我机上并没有安装IIS! m6 X+ M8 W$ N$ b# I: M2 F

7 |$ F+ c' O3 A) Q- s9 t换了段脚本:
9 U' `  d, w# k; I* d7 Y8 r8 ~use Win32::OLE;
# ?' P# h1 W, n, d* s$msg = Win32::OLE->new('PAINET.MAILMSG') or $session->OutputDebugMessage("no mailmessage\r\n");
. x' g5 N+ b9 V$session->OutputDebugMessage("why why why .............................\r\n");
! w0 S$ Q4 D% A* w$userEmail = $session->GetUserEmail();
  K+ d5 C/ \* d$msg->AddTo($userEmail);
7 y: g7 K1 Z) g0 \9 j2 U( {$msg->AddFrom($userEmail);
6 M$ W1 Y' d- L* d% i  w0 J$msg->SetSubject('Testing');( u) R, h2 e/ i2 |3 a8 n, C/ d
$msg->SetBody('This is the body\n you ');. l, k9 c9 a& c* {: d. H* L% u$ o
$session->OutputDebugMessage("why why why 111111111111111111111111111111111\r\n");# v+ D8 f* Q. b* D) a
$msg->Deliver() or $session->OutputDebugMessage("Deliver failed\r\n");- a7 P6 V: s' E5 R8 f( L# T: a1 V
$session->OutputDebugMessage("why why why 22222222222222222222222222222\r\n");5 K+ V- r( m! N7 _, R$ c

, F% R# {4 U+ e这下邮件发送成功了,可是dbwin32.exe仍然看到有错误信息:
2 T& ~& D  [+ O3 A  V2 E8 z5760: why why why .............................0 M( C  F6 |0 t* u7 [' e
5760: why why why 111111111111111111111111111111111) k0 Y% H6 o: Q, A4 L( K8 W& r" J
5760: CQResourceDLL::LoadLangDLL: Trying D:\Program Files\Rational\ClearQuest\resdll\cqratmail_zh_Hans_CN.rsc
0 ^! N$ l# A- B- i8 T5760: CQResourceDLL::LoadLangDLL: Trying D:\Program Files\Rational\ClearQuest\resdll\cqratmail_zh_Hans.rsc7 c$ B$ ]) u# d9 j# ~
5760: CComClassFactory - IUnknown
" U$ _' ~# ]0 B5 }3 n5760: CComClassFactory - IClassFactory
% m& D% O1 B2 k, ?; w5760: CEmailSession - IUnknown; g2 q% R1 G9 M* G2 }. O
5760: CEmailSession - IUnknown& ?3 c. S3 O* m* {+ I
5760: CEmailSession - IUnknown
9 ^7 |& V* ?' D" C8 |7 j5760: CComClassFactory - IClassFactory) ^0 l3 F# X) b* ?4 f! k$ F3 |4 ~
5760: CEmailSession - IUnknown- k0 T, z( |% o4 \6 o
5760: CEmailSession - IUnknown0 Y3 |7 V; G4 m
5760: CEmailSession - IEmailSession0 g! K8 t) S& e# P: }. \3 }
5760: CEmailSession - IUnknown
; R  m5 j  A( ^% ?" k: w1 \! k5760: CEmailSession - IEmailSession! C6 i& s( O; e
5760: why why why 22222222222222222222222222222, F! T. B2 k5 \
$ k% T- ^; q+ ^
/ |8 V0 I. E8 \$ ?' d: p! ~
想不明白了,到底哪里有问题
# {8 t7 D- n- z5 f* W( H2 X$ a8 L+ s4 k+ J* N
[ 本帖最后由 happygod 于 2007-1-11 15:43 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2007-1-11 15:43:19 | 显示全部楼层
我对perl了解并不多,但我看了你的代码,+ A9 L2 y/ H) G: A% R; H
你能解释一下IsEmailEnabled()是做什么的吗?
$ E2 }" \2 d( M- ?& g: ]7 q2 a我在CQ API中从来就没有见过。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-11 15:50:06 | 显示全部楼层
IsEmailEnabled():Tests whether the current user has e-mail enabled or not.
0 |4 p% O# k6 p; t3 h
1 I# B; D* K" f用的是CQ7.0
回复 支持 反对

使用道具 举报

发表于 2007-1-11 16:02:23 | 显示全部楼层
我使用下列脚本,可以随便发邮件,
8 |+ B, B, [0 V3 ~        strSubject = "test mail"% @5 _& g5 }( G
        MsgBox strSubject& }% k* ]1 v$ h8 u" c" ^' C
        Set mail = CreateObject("CDONTS.NewMail")
8 @8 u8 |8 W( v0 a) h. n       
& G( a; d2 n; a        Dim strMailFrom' o* C, m' C( H- ?( W3 s! Y( _
        Dim strMailto
( g3 p+ b+ c- t$ i$ H$ P6 E       
% c% j" b8 {" R5 K7 S" M        strMailto = "aa@aa.com", u2 V9 s: C% i8 i5 J
        strMailFrom = "abc@yahoo.com.cn"
% d- e3 n. r& ^" \        strCc = "aa@aa.com"
. j& Z( H7 x% b0 m! k! Q# B        # K$ N9 g2 T! a( j5 z
        mail.to = strMailto
3 D$ @! _( z2 u6 u6 q& c. X  [        mail.From = strMailFrom' r. o2 I8 K) t- Q6 l
        mail.Cc = strCc
/ F4 J9 r% B2 V  d1 w. ^- C        mail.BodyFormat = 0
( h! c: z+ m: l' e/ v( {6 t' C$ R        mail.MailFormat = 0! i5 t/ f: |' c: e( m
        mail.Subject = strSubject
& O2 A  W3 ~7 J                          $ w" x0 F. e' b7 }
  strBody = "asdfasdfasdfasdfasfdsadf"/ k& ]/ [, j' F
  
5 E0 ^9 L" i. c2 |4 Z  mail.Body = strBody5 i0 j0 |8 z9 ^* s- E3 K2 Z4 N9 m
  mail.Send
. E5 I3 ]" `# t+ Q9 C# t: F+ a( B. e提示:可以把上述脚本放在一个.vbs文件中测试。
回复 支持 反对

使用道具 举报

发表于 2007-3-3 09:16:28 | 显示全部楼层
Set mailmsg = CreateObject("PAINET.MAILMSG")% x) A# Z/ S* F6 }; A
  Set session = GetSession
* ^2 b6 ^9 H4 A3 j  subj = "Tester"
! k7 S! ~8 n, V  mailmsg.SetSubject subj
1 T1 C% F) B& E& Y  mailmsg.SetBody("test")8 R2 d' m  i: W5 O2 s# E1 g  I
  mailmsg.SetFrom("test@test.com")/ u! x4 ?. _, B# C
  mailmsg.AddTo("test@test.com")
& |# N* J6 o7 z1 x5 S' \  mailmsg.Deliver! L8 X+ t7 x8 w0 m) c( q5 v

# K, i3 |5 g# a/ b. a有这段程序在clearquest客户端发送email 成功,但在web 上发时,却速度奇慢无比,好象IE死了一样,有哪高手指点一下,谢谢!
回复 支持 反对

使用道具 举报

发表于 2013-6-8 10:34:50 | 显示全部楼层
本帖最后由 scm20008 于 2013-6-8 19:56 编辑
3 I+ e" f4 r" X8 i" p
4 s( H$ J2 v5 n: J看了下,LZ是按照API里的来写的,我也试了一下,确实不行。* o/ H9 `, s; F( O2 m# a: R: R" B# m
- ?$ P3 B' \" h6 n1 f: x
$aa = $session->IsEmailEnabled();4 N3 w; z1 n) s7 `1 \
这个后面加个if来判断$aa的值就不会报错了。但是还是发不了邮件。
4 ]) Y3 |* r9 i1 I) q3 ~2 Y$ {2 s# [: P
回复 支持 反对

使用道具 举报

发表于 2016-6-23 10:02:49 | 显示全部楼层
不知道有何方法可以打印出deliver失败的具体原因,我这里有个比较奇怪的问题,有些记录hook里执行后能成功发送邮件,有些不行,我现在也没有查到具体什么原因
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2018-6-24 15:18 , Processed in 0.066556 second(s), 7 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

快速回复 返回顶部 返回列表