学院首页>网络编程>ASP.NET>如何用MAPI和CDONTS来发邮件

如何用MAPI和CDONTS来发邮件

作者: 来源: 添加时间:2006-5-25 20:11:40

不想另外安装第三方的发邮件组件,想直接利用MS的。

请问在VB里如何用MAPI来发送邮件(好像MAPI是OUTLOOK和OE自带有的吧),需要像在OE里发邮件一样先手工设置好发信帐号吗?能不能像JMAIL一样在发信时指定SMTP服务器及发信验证用户名和密码?

哪里有CDONTS发邮件的源码?我需要能指定发邮件的SMTP及认证用户名和密码的那个版本的,这就相当于JMAIL能实现的功能了,好像低版本的CDO不支持,汗~~~~~

下面是使用winsock实现的发送邮件,但其它问题仍未解决,等待高手

eSTMP.vbp
-------------------------------------------
Type=Exe
Object={248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0; MSWINSCK.OCX
Form=frmmail.frm
Startup="Form1"
HelpFile=""
Title="Email发送"
ExeName32="Email.exe"
Command32=""
Name="Email"
HelpContextID="0"
CompatibleMode="0"
MajorVer=1
MinorVer=0
RevisionVer=0
AutoIncrementVer=0
ServerSupportFiles=0
VersionCompanyName="dapha.net"
VersionFileDescription="Email发送,支持服务器认证,超文本邮件内容"
VersionLegalCopyright="Copyright 2002 dapha.net"
VersionProductName="Email发送软件"
CompilationType=0
OptimizationType=0
FavorPentiumPro(tm)=0
CodeViewDebugInfo=0
NoAliasing=0
BoundsCheck=0
OverflowCheck=0
FlPointCheck=0
FDIVCheck=0
UnroundedFP=0
StartMode=0
Unattended=0
Retained=0
ThreadPerObject=0
MaxNumberOfThreads=1

[MS Transaction Server]
AutoRefresh=1

frmMail.frm
-----------------------------------------
VERSION 5.00
Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
Begin VB.Form Form1
   BorderStyle  =   1  'Fixed Single
   Caption   =   "邮件发送程序(支持smtp服务器验证)"
   ClientHeight =   5550
   ClientLeft   =   45
   ClientTop =   330
   ClientWidth  =   5805
   LinkTopic =   "Form1"
   MaxButton =   0   'False
   ScaleHeight  =   5550
   ScaleWidth   =   5805
   StartUpPosition =   3  'Windows Default
   Begin MSWinsockLib.Winsock Winsock1
   Left   =   2640
   Top =   2520
   _ExtentX  =   741
   _ExtentY  =   741
   _Version  =   393216
   End
   Begin VB.TextBox txtmessage1
   Height =   1695
   Left   =   0
   MultiLine =   -1  'True
   TabIndex  =   8
   Text   =   "frmmail.frx":0000
   ToolTipText  =   "这里为超文本信件内容"
   Top =   3480
   Width  =   5775
   End
   Begin VB.TextBox user
   Height =   270
   Left   =   3960
   TabIndex  =   4
   Top =   840
   Width  =   1575
   End
   Begin VB.TextBox subject
   Height =   270
   Left   =   960
   TabIndex  =   3
   Text   =   "你好"
   Top =   1320
   Width  =   2295
   End
   Begin VB.TextBox txtserver
   Height =   270
   Left   =   960
   TabIndex  =   2
   Text   =   "smtp.etang.com"
   Top =   960
   Width  =   2295
   End
   Begin VB.TextBox txtpwa
   Height =   270
   IMEMode   =   3  'DISABLE
   Left   =   3960
   PasswordChar =   "*"
   TabIndex  =   5
   Top =   1200
   Width  =   1575
   End
   Begin VB.TextBox getaddress
   Height =   300
   Left   =   960
   TabIndex  =   1
   Top =   600
   Width  =   2295
   End
   Begin VB.TextBox txtfrom
   Height =   300
   Left   =   960
   TabIndex  =   0
   Top =   240
   Width  =   2295
   End
   Begin VB.CommandButton cmdExit
   Caption   =   "退出"
   Height =   375
   Left   =   4680
   TabIndex  =   9
   Top =   240
   Width  =   975
   End
   Begin VB.CommandButton CmdSend
   Caption   =   "发送"
   Default   =   -1  'True
   Height =   375
   Left   =   3360
   TabIndex  =   6
   Top =   240
   Width  =   975
   End
   Begin VB.TextBox txtMessage
   Height =   1815
   Left   =   0
   MultiLine =   -1  'True
   TabIndex  =   7
   Text   =   "frmmail.frx":0A1E
   ToolTipText  =   "信件内容"
   Top =   1680
   Width  =   5775
   End
   Begin VB.Label Label6
   AutoSize  =   -1  'True
   Caption   =   "用户名"
   Height =   180
   Left   =   3360
   TabIndex  =   16
   Top =   840
   Width  =   540
   End
   Begin VB.Label StatusTxt
   AutoSize  =   -1  'True
   BackStyle =   0  'Transparent
   BorderStyle  =   1  'Fixed Single
   Height =   285
   Left   =   960
   TabIndex  =   15
   Top =   5200
   Width  =   3375
   End
   Begin VB.Label Label5
   AutoSize  =   -1  'True
   Caption   =   "主题:"
   Height =   180
   Left   =   240
   TabIndex  =   14
   Top =   1320
   Width  =   450
   End
   Begin VB.Label Label4
   AutoSize  =   -1  'True
   Caption   =   "SMTP服务器"
   Height =   180
   Left   =   0
   TabIndex  =   13
   Top =   960
   Width  =   900
   End
   Begin VB.Label Label3
   AutoSize  =   -1  'True
   Caption   =   "密码"
   Height =   180
   Left   =   3360
   TabIndex  =   12
   Top =   1200
   Width  =   360
   End
   Begin VB.Label Label2
   AutoSize  =   -1  'True
   Caption   =   "收信人地址"
   Height =   180
   Left   =   0
   TabIndex  =   11
   Top =   600
   Width  =   900
   End
   Begin VB.Label Label1
   AutoSize  =   -1  'True
   Caption   =   "发信人地址"
   Height =   180
   Left   =   0
   TabIndex  =   10
   Top =   240
   Width  =   900
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

'程序组合:dapha(汪锋)
'下载http://www.dapha.net
'我是一名VB爱好者,希望得到大家的帮助,共同学习,进步
'转摘请保留以上信息,谢谢合作
Private Enum SMTP_State
MAIL_CONNECT
MAIL_HELO
MAIL_from
MAIL_RCPTTO
MAIL_DATA
MAIL_DOT
MAIL_QUIT
MAIL_USER
MAIL_PASS
mail_login
End Enum
Private m_State As SMTP_State
Private m_strEncodedFiles As String


站内搜索