主题:在邮件文本中如何书写超链接?
masachik
[专家分:540] 发布于 2008-12-13 23:39:00
无论用哪种方式在VFP编写的程序中发送邮件,要直接发送,都要将文本斌给一个变量。如果这时需要在文本中引用超链接地址,该如何处理呢?
最后更新于:2008-12-14 23:22:00
回复列表 (共27个回复)
11 楼
cbl518 [专家分:57140] 发布于 2008-12-15 20:46:00
CDO.Message 对象的代码使用不妥!
使用它可以完成你们说谈得功能!
12 楼
cbl518 [专家分:57140] 发布于 2008-12-15 20:52:00
[quote]
ShellExecute(0,"open",a1,0,0,1)
愦憾的是,我不知道这函数的参数,不知用它能不能直接发送,也不知可不可发附件。
[/quote]
这 api 函数,只是执行,关联的程序,实现与你指定文件或命令。
与发不发附件,无关。
13 楼
cbl518 [专家分:57140] 发布于 2008-12-15 20:55:00
a1='mailto:mozoho@163.com……"
据我使用,是不能发附件的。
14 楼
cbl518 [专家分:57140] 发布于 2008-12-15 21:03:00
moz 先生是 Microsoft Office 的高手,
难道你忘了用 Outlook.Application 吗?
只要使用它,就可以轻完成,你们要得功能了。
这和使用 excel 和 word 对象方法,是一样的!
我想不用我提醒怎样用宏去获取命令了吧?
15 楼
cbl518 [专家分:57140] 发布于 2008-12-15 21:08:00
Microsoft.XMLHTTP 对象
还有常用得 MAPI 控件
……
也很容易完成!
16 楼
masachik [专家分:540] 发布于 2008-12-15 22:13:00
[quote][quote]
ShellExecute(0,"open",a1,0,0,1)
愦憾的是,我不知道这函数的参数,不知用它能不能直接发送,也不知可不可发附件。
[/quote]
这 api 函数,只是执行,关联的程序,实现与你指定文件或命令。
与发不发附件,无关。
[/quote]
我想知道的是,这函数中有没有引入附件的参数,就像引入标题与内容的参数(subject、body)一样。第二参数用"open",执行时会显示写邮件对话框,我希望知道,能否通过修改这个参数,使它不显示对话框。
17 楼
masachik [专家分:540] 发布于 2008-12-15 23:07:00
[quote]Microsoft.XMLHTTP 对象
还有常用得 MAPI 控件
……
也很容易完成![/quote]
我在三楼引用的附二使用的就是MAPI控件,按照MOZ前辈的指导,将.MSGNOTETEXT的设置改为"尊敬的用户,您好:"+chr(13)+chr(10)+chr(13)+chr(10)+"您在"+注册网站+"软件注册网站的注册信息如下。网盘http://www.sz3tt.cn"这种形式,链接http://www.sz3tt.cn就能正常显示了。但有不足,就是它要提行,不好在它前面加链接提示。
我在三楼引用的附一,使用的是Microsoft.XMLHTTP 对象,但我在 vfp5.0与Outlook Express 环境下使用它,总要将内容变为附件(见三楼)。
18 楼
cbl518 [专家分:57140] 发布于 2008-12-15 23:12:00
该函数实参的意思:
ShellExecute(父窗口句柄,操作方式,要操作的文件名或命令,传递给关联程序的实参,默认路径,程序窗口显示方式)
19 楼
moz [专家分:37620] 发布于 2008-12-15 23:38:00
嗯,我使用邮件的习惯有以下的顺序:
Hotmail - Outlook Express - Office Outlook - Koomail - Gmail(Google Talk)
如果不是因为试验这个问题,我甚至Outlook Express都不会激活,
Office Outlook 我根本就没装,是因为Outlook都存在一个问题,
某个邮件我想在本地删除,而不想在服务器删除,结果下次它又会收一次.这个问题非常讨厌,
所以后来在使用Koomail的过程中就非常的方便.
如果用户能习惯使用Outlook的话,使用Outlook.application也不失为好办法,
但我并不认为每个人都能接受,而且如果能简便一点,轻装上阵不需要那么多附加条件的话,
才是最佳方案.(VFP我都嫌它需要运行库)
Mailto是没法添加附件的.
但按照你MAPIsess方法可行的话,我还是建议使用这样的办法,
另外我注意到在Outlook Express中使用html方式发送邮件的话,
收到的也是一个ATT*****.html的一个默认附件,不知道是否能有点帮助.
我的VFP没有办法添加控件,因为我现在的VFP并不是由安装方式而来的,
而是重装了几次操作系统,而直接使用了旧文件夹中的程序(所谓的绿色)
我也在注册表中翻阅了一下可以调用的对象,
貌似在我的电脑里并没有什么可以利用得上的对象.
OutlookExpress也没看见有像样的可用对象.
或许可以估计一下用户的环境,又或许可以建议用户安装一下必要的邮件处理程序,
如果熟悉服务器操作的话,我估计跳过邮件会更方便一些.
20 楼
masachik [专家分:540] 发布于 2008-12-16 00:00:00
[quote]在我这里可能通过呢,
不过我查过CDO方式也许是不需要这些.Item( )的,
好像前提是当前操作系统使用了邮件服务器方式,
我安装的是2003,也装了IIS,但具体的设置我还是没有弄明白,
或者你可以看看这个是否有帮助.
[url=http://www.microsoft.com/china/technet/community/scriptcenter/resources/hey1129.mspx]微软的脚本指导[/url][/quote]
我看了‘微软的脚本指导’,出对像定义一句外(那个定义像是VB中的定义,前面加有SET),其余均与您给的代码相同。但是,我在VFP5.0中运行,就是要报告这几个函数参数出错。忽略这几行,就会出现下面图片所示提示。
[img]http://sigeen.atedu.net/PZZHGL/errorts.png [/img]
我来回复