用条件判断就行了
发邮件核心函数用这个
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);
怎样知道自己的网易邮箱账号 怎样知道自己的电子邮箱号随着互联网的发展,方便快捷的电子邮箱信件取代了纸质信件,成为当代通信联系的一种主要方式,那么如何知道自己的电子邮箱号呢?下面介绍有关以供参考。开启分...
钉钉有黑客版本吗? 1、打开钉钉,进入任意群聊后,点击右上角的“...”;打开群设置窗口后,滑动找寻“我在本群的昵称”;点击最右侧的画笔图标,再输入昵称即可。以上就是小编给大家带来的钉钉群昵称怎么修改...
请问一下崩坏三如何解绑邮箱 在崩坏3游戏中,只有手机号换绑的功能,没有邮箱换绑功能,如果是邮箱注册的话是不能够换绑的。崩坏三怎么解绑邮箱在崩坏3之中,只有手机号换绑的功能,没有邮箱换绑功能,如果是邮箱...
邮箱帐号大全(5个常用国外邮箱注册) ; 接送和发送电子邮件是我们日常不可避免的,不管是个人也好,企业也好,都需要邮箱来处理一些负责的文件,大附件。国内用的比较多的属QQ邮箱了,但...
宝马528li油箱开关在哪 在驾驶侧左边门框下端,有个邮箱标志的钮,抠出来就可以了,希望对你有所帮助,谢谢【汽车有问题,问汽车大师。4S店专业技师,10分钟解决。】帮我注册一个ipad的账户~~谢谢~...
网易邮箱异常登陆是怎么回事? 网易邮箱发生异常登录情况,修改密码即可恢复使用,详细步骤:1、打开邮件,然后点击下方的【修改密码】,如图示。2、这个时候,会自动进入网易邮箱的登录界面,输入自己的网易账号...