ACCESS发送邮件代码
access 2009-02-11 16:41 阅读23 评论0 字号: 大大 中中 小小 Private Sub Command1_Click() '发送邮件,依据ACCESS开发答疑200问P226页
'首先,确保已经安装了OutLook,然后在引用中引用Microsoft OutLook对象,在输入以下代码就可实现创建一个新邮件,并添加一个附件到邮件中,然后发送邮件的功能。
'通过引用OutLook.Application对象,Access可以循环OutLook对象里面的所有内容,例如可以读取OutLook里的所有邮件、联系人、约会、日记等信息,还可修改OutLook内置的“规则精灵”
'的内容。
Dim myOlApp As Object
Dim myNamespace As Object
Set myOlApp = CreateObject("OutLook.Application") '创建OutLook应用程序对象
Set myNamespace = myOlApp.getNamespace("MAPI") '获取MAPI命名空间
Set myFolder = myNamespace.getDefaultFolder(6) '销或获取默认的文件夹
Set myitem = myOlApp.CreateItem(0) '创建新邮件
myitem.Display
Set myRecipient = myitem.Recipients.Add("rcylbx@21cn.com") '为邮件添加收件人
myRecipient.Type = 1
myitem.Subject = "test" '设置邮件主题
MsgBox "ok"
myitem.Attachments.Add ("d:\test.txt") '添加邮件附件册州,注意确保硬盘下有这个文件
myitem.Save
myitem.Send
MsgBox "ok"
End Sub
Private Sub Command2_Click()
'代码说明:
'本代码可以在安装了outlook(2000以上版本的)的机器上运行。不过outlook xp 以上
'的版本由于出于防止邮件病毒的目的,对发送邮件进行监控,运用本程序每发送一封
'email都需要用户确认,会有点麻烦,但是还是出于安全的角度考虑。
'可以将这亏姿伍段代码嵌入access的模块?excel的宏中运行?
'程序要求:
'需要引用 "microsoft outlook x.x library"
'代码:
Dim olkapp As Outlook.Application '在使用outlook之前必须先声明outlook应用程序的对象,应用程序
Dim newmail As MailItem '在使用outlook之前必须先声明outlook应用程序的对象,邮件项目对象
Dim emailadd, para As String
Set olkapp = CreateObject("outlook.application") '指定outlook应用程序的实体变量
Set newmail = olkapp.CreateItem(olMailItem) '指定邮件项目的实体变量
'邮件正文内容
para = para + "祝新春快乐,并友情提醒注意新的邮件病毒。"
'收件人的email地址,这里没有输入内容。
emailadd = "rcylbx@21cn.com"
With newmail
.To = emailadd '发送邮件地址
.Subject = "新春快乐" ' 邮件的主题
.Importance = olImportanceHigh '邮件的为重要等级
.Body = para '将邮件正文内容指定para变量内容
'.Send '发送
.Display '启动视窗
End With
On Error GoTo continue
SendEmail:
newmail.Display
DoEvents
SendKeys "%s", Wait:=True
DoEvents
AppActivate newmail
GoTo SendEmail '发送不成功誓不罢休
continue:
On Error GoTo 0
Set olkapp = Nothing
Set newmail = Nothing
End Sub
Sub email_send()
Dim olkapp As Outlook.Application
Dim newmail As MailItem
Dim emailadd, para As String
Set olkapp = CreateObject("outlook.application")
Set newmail = olkapp.CreateItem(olMailItem)
'邮件正文内容
para = para + "祝新春快乐,并友情提醒注意新的邮件病毒。"
'收件人的email地址,这里没有输入内容。
emailadd = ""
With newmail
.To = emailadd
.Subject = "新春快乐" ' 邮件的主题
.Importance = olImportanceHigh '邮件的为重要等级
.Body = para '将邮件正文内容指定para变量内容
.Send '发送
End With
End Sub
Private Sub Command3_Click()
'方法一是用代码模拟发送邮件确认 (代码引用论坛前辈的代码)
Dim objOL As Object
Dim itmNewMail As Object
'引用Microsoft Outlook 物件模型
Set objOL = CreateObject("Outlook.Application")
Set itmNewMail = objOL.CreateItem(olMailItem)
With itmNewMail
.Subject = "chijanzen Mail Test" '主旨
.Body = "发送邮件测试2222" '本文
.To = "rcylbx@21cnl.com" '收件者
.Attachments.Add "d:\test.txt", olByValue, 1, "4th Quarter 1996 Results Chart"
.Display '启动视窗
End With
On Error GoTo continue
SendEmail:
AppActivate itmNewMail
DoEvents
SendKeys "%s", Wait:=True
DoEvents
AppActivate itmNewMail
GoTo SendEmail '发送不成功誓不罢休
continue:
On Error GoTo 0
Set objOL = Nothing
Set itmNewMail = Nothing
'再次测试中发现,窗口标题为中文时,AppActivate命令不能执行。将AppActivate命令改为Display方法,可解决此问题,即将AppActivate itmNewMail改为itmNewMail.display。
End Sub
'方法一是用代码模拟发送邮件确认 (代码引用论坛前辈的代码)
Sub SendMail()
Dim objOL As Object
Dim itmNewMail As Object
'引用Microsoft Outlook 物件模型
Set objOL = CreateObject("Outlook.Application")
Set itmNewMail = objOL.CreateItem(olMailItem)
With itmNewMail
.Subject = "chijanzen Mail Test" '主旨
.Body = Application.UserName &"发送邮件测试2222" '本文
.To = "171262953@qq.com" '收件者
.Attachments.Add "C:\PDOS.DEF", olByValue, 1, "4th Quarter 1996 Results Chart"
.Display '启动视窗
End With
On Error GoTo continue
SendEmail:
AppActivate itmNewMail
DoEvents
SendKeys "%s", Wait:=True
DoEvents
AppActivate itmNewMail
GoTo SendEmail '发送不成功誓不罢休
continue:
On Error GoTo 0
Set objOL = Nothing
Set itmNewMail = Nothing
End Sub
'再次测试中发现,窗口标题为中文时,AppActivate命令不能执行。将AppActivate命令改为Display方法,可解决此问题,即将AppActivate itmNewMail改为itmNewMail.display。
**************************************
***************************************
Sub Send_Order_Mail()
Dim cnn As ADODB.Connection
Dim rst_cusid, rst_order_list As ADODB.Recordset
Dim olkapp As Outlook.Application
Dim newmail As MailItem
Set olkapp = CreateObject("outlook.application")
Set cnn = New ADODB.Connection
cnn.Open CurrentProject.Connection
Set rst_cusid = New ADODB.Recordset
rst_cusid.Open "select distinct CustomerID,CompanyName,Email from v_order_list", cnn, adOpenKeyset, adLockReadOnly
If rst_cusid.RecordCount <1 Then Exit Sub
Set rst_order_list = New ADODB.Recordset
For i = 1 To rst_cusid.RecordCount
rst_order_list.Open "select * from v_order_list where CustomerID = " + "'" + rst_cusid.Fields(0) + "'", cnn, adOpenKeyset, adLockReadOnly
With rst_order_list
para = "Dear " + .Fields(1) + ":" + Chr(10)
para = para + Space(3) + "Your Company " + .Fields(0) + " has Order those Good:" + Chr(10)
For j = 1 To .RecordCount
para = para + Space(3) + "Good Name :" + .Fields(2) + " Order Date :" + CStr(.Fields(3)) + " Price:" + CStr(.Fields(4)) + Chr(10)
Next
End With
rst_order_list.Close
para = para + Space(30) + "Yours Loadhigh" 'para为信件内容
Set newmail = olkapp.CreateItem(olMailItem)
With newmail
.To = rst_cusid.Fields(2) '接收邮件的信箱
.Subject = rst_cusid.Fields(1) + " Order List" '信件标题
.Body = para
.Send '发送
End With
rst_cusid.MoveNext
para = ""
Next
rst_cusid.Close
Set rst_cusid = Nothing
Set rst_order_list = Nothing
cnn.Close
Set cnn = Nothing
End Sub
***********************************************************
Function test1()
Dim objMail As MailItem
Dim objAttachments As Attachment
Dim App As New Outlook.Application
Set objMail = App.CreateItem(olMailItem)
objMail.Save
Set objAttachments = objMail.Attachments.Add("c:\temp\a.xls", olByValue, 1, "a.xls")
With objMail
.To = "chenge@shtip.com.cn" '接收邮件的信箱
.Subject = "test" '信件标题
.Body = "test"
.Send '发送
End With
'objMail.Display
End Function
*********************************************************
VBScript code
Set Msg =
CreateObject("CDO.Message")
With Msg
.To = "someone@microsoft.com"
.From = "userX@microsoft.com"
.Subject = "Lunch meeting"
.TextBody = "I have attached the suggested menu."
.AddAttachment "file://c:/menu.doc"
.Send
End With
另,若因发垃圾邮件被163.com封账号,可以联系客服解释是电脑中了病毒。
这个代码是完整的吗?为何没有输入语句?
尝试修改了一下埋搭,大体上还是正确的,不过还有一个地方就知闭是当密文是大小写的abcd或wxyz的时候,密文或解密后的密文会出现其他字符
部分修弯猛拿改截图
您大可以打开网盘下载一下源代码,贴在这儿格式会乱掉
求采纳呀 ヾ(o◕∀◕)ノヾ
是的槐谨明,前端可以实现输入文字自动写信功能。这个功能可以使用JavaScript和HTML的一些技术来实现。其中,使用JavaScript的主要目的是为了能够动态地更新页面内容,而HTML则提供了文本输入框,以便用户能够输入文字。下面是一个简单的示例代码:
HTML:
```
<textarea id="letter" rows="10" cols="50"></textarea>
<button id="generate-btn">生成信件</button>
<div id="result"></div>
```
JavaScript:
```
var letterInput = document.getElementById('letter')
var generateBtn = document.getElementById('generate-btn')
var resultDiv = document.getElementById('result')
generateBtn.addEventListener('click', function() {
var letterText = letterInput.value
var letterHTML = '<p>亲爱的xxx:</p><p>' + letterText + '</p><p>祝好</p>'
resultDiv.innerHTML = letterHTML
})
```
上面的代码中,我们首先获取了HTML元素的引用,然后晌稿给“生成信件”按钮添加了一个点击事件的监听器。当用户点击该按钮时,我们获取了用户输入铅告的文字,然后使用JavaScript生成了一个HTML字符串,最后将它插入到页面的“result”元素中。这样,用户就能够看到自动生成的信件了。
当然,这只是一个简单的示例,实际的实现可能会更加复杂。不过,通过这个例子,你可以看到前端是如何实现输入文字自动写信功能的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)