用条件判断就行了
发邮件核心函数用这个
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);
在Python的Flask框架下收发电子邮件 1、在开启smtp功能时会给你串随机的密码,用这个作为你的登录密码就可以了。btw,帐号只需输入qq号就可以了。163同理。2、在 index 函数中,你...
怎样删除登陆qq邮箱时留下的QQ账号 1、在电脑上登录网页版QQ邮箱,点击左上角logo处的“设置”按钮,进入“邮箱设置”页面。在“邮箱设置”页面点击“账户”选项卡。2、qq邮箱怎么删除另一个账户?...
比亚迪F0油箱表显示闪烁!加上油打着车还是显示一个格,关闭车在打着就显示4个格了!以前没这种情况!怎 您好,这种情况需要检查油箱油浮和传感器,建议去维修站看下。比亚迪F0F0发动机故障灯闪烁,车子像供...
康乐县邮政编码 临夏回族自治州康乐县邮政区码:731500康乐县隶属于甘肃省临夏州,地处东经103°~103°24ˊ,北纬34°54ˊ~35°27ˊ之间,处黄土高原向青藏高原过渡地带,平均海拔为200...
google的邮箱是什么? 1、邮箱:ningchen@google.com。2、gmail是Google出品的邮箱。Gmail(德国和英国称为Google Mail)是Google公司在2004年4...
拜求美人如玉剑如虹或每晚一个离奇故事第一百零一夜以后的内容 正 文 一、何处“借”来玉骢马 马蹄溅过,几瓣杏花乍起。 段青衣说过,莺歌恰恰,便是江南。 我骑着玉骢马招摇过市,额上的一...