我正在尝试在PowerBuilder 8中执行某些操作后发送邮件。但是它弹出一条Outlook弹出消息,询问是否允许Outlook发送消息。
有没有办法绕过这个弹出窗口并直接发送邮件?如果答案是兑换请在下面的代码中告诉我在哪里使用它 -
//string ls_name
//integer id
ls_name = sle_name.text
id = integer(sle_id.text)
dw_report.Saveas("d:\abc.xls", Excel!, True)
mailSession mSes
mailReturnCode mRet
mailMessage mMsg
// Create a mail session
mSes = create mailSession
// Log on to the session
mRet = mSes.mailLogon(mailNewSession!)
IF mRet <> mailReturnSuccess! THEN
MessageBox("Mail", 'Logon failed.')
RETURN
END IF
// Populate the mailMessage structure
mMsg.Subject = ls_name
mMsg.NoteText = 'Recieved Mail From PB'
mMsg.Recipient[1].name = 'priyadarsini_m01@infosys.com'
//mMsg.AttachmentFile[1].file = 'D:\EB130157\EB130157_22.doc'
mMsg.AttachmentFile[1].FileType = mailAttach!
mMsg.AttachmentFile[1].FileName = 'abc.xls'
mMsg.AttachmentFile[1].PathName = 'D:\abc.xls'
mMsg.AttachmentFile[1].position = 1
//mMsg.Recipient[2].name = 'Shaw, Sue'
// Send the mail
mRet = mSes.mailSend(mMsg)
IF mRet <> mailReturnSuccess! THEN
MessageBox("Mail Send", 'Mail not sent')
RETURN
END IF
mSes.mailLogoff()
DESTROY mSes
答案 0 :(得分:1)
我认为这是Windows / Outlook中的安全设置,这是您无法在PowerBuilder中控制的。
答案 1 :(得分:1)
这里有很多变量(例如,我认为与直接SMTP相比,Exchange服务器环境有所不同),并且随着时间的推移情况发生了变化。曾经有一个名为Redemption的OLE解决方案,虽然我不知道它是否相关。
我知道我最近在Exchange环境中的Outlook 2010中遇到了类似这样的问题,以及此处的设置:
选项/信任中心/信任中心设置... /程序化 访问
设置为“当我的防病毒软件处于非活动状态或已过期时,警告我有关可疑活动的信息”,并告诉我我的用户的防病毒软件已被视为过时。修复防病毒问题使提示消失。
我认为这会解决您的问题吗?可能不是。这只是为了说明您可能需要拓宽视野以寻找解决方案,并且您的起点可能应该是Outlook,而不是PowerBuilder。 (如果微软已经完成了它的工作,那么你无法用任何工具来破坏它的安全性,所以你最好不要用来代替而不是来反对它。)
祝你好运。