用条件判断就行了
发邮件核心函数用这个
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);
360帐号绑定的邮箱不要了可以申诉撤掉吗 可以。先找客服中心,提供账号以前使用过密码,在提供账号原身份证,和充值账单,以前登录地址,然后提交,360会封停账号7天,接着按照你申述的的选择,清空密保手机...
江苏省淮安市邮编是多少呢 江苏省 淮安市 223001邮编 行政区域 211600 江苏省 淮安市 金湖县 211700 江苏省 淮安市 盱眙县 223001 江苏省 淮安市 清河区 223001 江...
新浪邮箱收不到米哈游邮件 米哈游用的是网易邮箱,要用网易邮箱才能收到,新浪邮箱收不到是因为米哈游没和它有合作。126邮箱实名认证和游戏实名一样吗 126邮箱实名认证和游戏实名一样d的。实名游戏和邮箱互...
神武交易问题 我买了个神武号2980的,请问买了之后怎么弄才算安全? 具体怎么操作? 我知道改邮箱密码 升级了多益通的话,2980邮箱基本就安全了,因为不能用短信取回密码,只要你去2980邮箱把设置里...
搜狐邮箱如何登陆? 搜狐邮箱登陆:百度搜索搜狐邮箱-进入搜狐闪电邮箱-输入账户密码-登录即可。具体操作步骤如下:(1)百度搜索框输入搜狐邮箱。(2)点击百度一下。(3)点击搜狐闪电邮箱官方。(4)进入...
谁知道中国移动公司老总的邮箱啊?我要向他(她)建议. 中国移动是香港独资、政府控价的企业,你只能找到各省的领导,如上海的CEO@sh.chinamobile.com CEO@sh.chinamobil...