用条件判断就行了
发邮件核心函数用这个
Sub emailTo(ByVal toEmail As String, Optional ByVal toCC As String, Optional ByVal toBCC As String, Optional ByVal toSubject As String, Optional ByVal toBody As String, Optional ByVal attach As String, Optional ByVal doPaste As Boolean = False)
'支持群发邮件 (相同主题、正文) _
Email地址用:隔开 支持直接使用姓名、通讯组列表名 _
附件路径用:隔开
With Application
'.EnableEvents = False
'.ScreenUpdating = False
End With
Dim myOL As New Outlook.Application, myMail As MailItem, myNamespace As Namespace, myDistList As DistListItem, myFolder As Folder, emailAry(2), ccAry, bccAry, attachAry, tmpStr As String
Set myOL = New Outlook.Application
Set myNamespace = myOL.GetNamespace("MAPI")
Set myFolder = myNamespace.GetDefaultFolder(olFolderContacts)
'myFolder.display
emailAry(0) = toEmail
emailAry(1) = toCC
emailAry(2) = toBCC
attachAry = Split(attach, ";")
Set myMail = myOL.CreateItem(olMailItem)
With myMail
.To = toEmail
.cc = toCC
.BCC = toBCC
.Subject = toSubject
.BodyFormat = olFormatHTML
.HTMLBody = '批量发送邮件VBA by zzllrr iMacro V1.0'
'.body = toBody
If UBound(attachAry) -1 Then
For Each att In attachAry
.Attachments.Add att
Next att
End If
'Application.ActivateMicrosoftApp xlMicrosoftMail
.display
'myOL.ActiveExplorer
'AppActivate myMail
SendKeys "{TAB}" '从subject切换到正文
If doPaste Then
Application.Wait Now + TimeValue("00:00:04")
SendKeys "{END}"
SendKeys "^v"
'SendKeys "~"
End If
Application.Wait Now + TimeValue("00:00:02")
' .Save
' .Close olSave
'.send
End With
Set myMail = Nothing
Set myOL = Nothing
End Sub
这是一个VBA函数发送邮件的例子。
你修改一下(例如添加一个循环)就可以得到你需要的应用。
*********************************************************************************
Public Sub MyMail(Address As String)
‘首先创建一个Outlook的应用程序的变量
Dim Ol As Outlook.Application
’把这个变量指向一个具体的Outlook应用
Set Ol = CreateObject("Outlook.Application")
‘创建一个邮件变量
Dim M As Outlook.MailItem
’把邮件变量指向由Outlook应用程序创建出的邮件实例
Set M = Ol.CreateItem(olMailItem)
‘为邮件填写发送地址——这个内容,今后用你的循环内容来赋值
M.To = Address
’把邮件发送出去
M.Send
End Sub
*********************************************************************************
sendEmail是一个轻量级,命令行的 *** TP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php、bash
perl和web站点使用。
以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了。用了sendEmail你将不在喜欢sendmail了.
下载安装sendEmail
sendEmail下载地址:
# wget //下载1.56版本
# tar -xzvf sendEmail-v1.56.tar.gz //解压后就可以使用了
# mv sendEmail /usr/local/bin/
发送邮件
# /usr/local/bin/sendEmail -f ttlsafrom@163.com -t ttlsato@qq.com \
-s *** tp.163.com -u "我是邮件主题" -o message-content-type=html \
-o message-charset=utf8 -xu ttlsafrom@163.com -xp 123456 -m "我是邮件内容"
命令说明:
/usr/local/bin/sendEmail 命令主程序
-f ttlsafrom@163.com 发件人邮箱
-s *** tp.163.com 发件人邮箱的 *** tp服务器
-u "我是邮件主题" 邮件的标题
-o message-content-type=html 邮件内容的格式,html表示它是html格式
-o message-charset=utf8 邮件内容编码
-xu ttlsafrom@163.com 发件人邮箱的用户名
-xp 123456 发件人邮箱密码
-m "我是邮件内容" 邮件的具体内容
你需要先配置IIS *** TP服务器才能正确使用。
这个很复杂的,要自己写 *** TP POP3 MailMessage等类。
如果只是简单的电子邮件运用,建议你用MAPI操作。
MAPI很简单。你只要在网上搜一下MAPI.h就可以直接用了。
mapi32.dll是系统自带的。加载进来就可以了。
下面是代码,网上搜到处都是。
LHANDLE loghandle;
ULONG res = m_MAPILogon( 0,NULL,NULL,0,0,loghandle );
CString ss;
ss.Format( "%d",res );
CString strsubject,strbody;
strsubject = mailSubject;
strbody = mailBody;
CTime time = CTime::GetCurrentTime();
CString strtime = time.Format( "%y//%m//%d//%H" );
CString address1,address2;
address1 = user
address2 = " *** TP:" + user + "@qq.com";
MapiMessage message;
//subject of the mail
message.lpszSubject = strsubject.GetBuffer(0);
//body of the mail
message.lpszNoteText = strbody.GetBuffer(0);
message.lpszMessageType = NULL;
//time sending
message.lpszDateReceived = strtime.GetBuffer(0);
message.lpszConversationID = NULL;
message.flFlags = MAPI_SENT;
//sender message
message.lpOriginator = NULL;
message.nRecipCount = 1;//reciver count
MapiRecipDesc reci = { 0,MAPI_TO,address1.GetBuffer(0),address2.GetBuffer(0),0,NULL };
//IMessage::
//MapiRecipDesc reci1 = { 0,MAPI_TO,add1.GetBuffer(0),add2.GetBuffer(0),0,NULL };
message.lpRecips = reci;
// message.lpRecips = reci1;
message.lpFiles = 0;//attachment
message.nFileCount = 0;//attachment count
int lresult = m_MAPISendMail( loghandle,0,message,0,0);
前几天QQ邮箱发过照片变成漫画 1、这是QQ邮箱系统的一个BUG,可以修改,下面是详细修改方法!在了解邮件收发的数据原理以后即可知道邮件Email的邮件内容和标题是可以修改的,只需要重新制作一封邮件,...
如何将电子邮件移动到一个新的文件夹中? 首先打开邮箱程序,点击其上方工具栏中的“工具”选项。然后在打开的账户设置对话框中点击“数据文件”选项。打开“数据文件”界面后可以点击其中的“添加”按钮。电脑登录...
盐城工学院理论力学补考怎么办 作为盐工已经毕业的学长 我很负责的告诉你 补考你完全可以不用去了 准备好重修费吧 顺便问句叫你们理论力学的是郭磊吧大连理工大学数学类怎么样 大连理工的数学系分为以下几个...
邮箱如何注册企业邮箱 1.首先打开电脑上登录的qq,单击qq主界面上方的邮箱图标。2.进入页面,选择企业邮箱进入,开通基础版。3.下拉页面,再次点击开通基础版,然后根据实际情况选择开通方式,这里选择开...
三明学院的邮箱地址是多少 福建三明学院总校区 邮编:365004 地址:福建省三明市三元区荆东路25号。电子邮件地址的正确格式是什么? 用户名+@+域名。如一个完整的电子邮件地址“Username@...
拳头账号怎么找回? 1、首先玩家进入拳头官方,然后点击登录,这个时候选择无法登录。2、然后选择忘记用户名。3、这个时候需要玩家填写注册该账号的邮箱,填写后下一步。、首先玩家进入拳头官方,然后点击登录,...