标题: BAT文件收发邮件!!!??
[打印本页]
作者: uforange
时间: 2008-9-4 00:29
标题: BAT文件收发邮件!!!??
你好!
我在论坛里搜索关于收发邮件的问题。看了好几天。也实验了好几天可是做不了。认真看时看到一个for。。。后面一大堆好东东时又看不懂。。。没有办法。。
请知道的朋友多点耐心再次帮说清楚和具体点和简单一点。在此就谢谢了。。
我的问题是这样的:
我想做一个BAT文件打开时就可以将我本地d:\orange.txt 做为附件 在本地用
hh163@163.com 密码为: asdf123 发送到
orange163163@163.com 里面 或者能有什么好的方法把d:\orange.txt发送到
orange163163@163.com里面
最好是打开就可以完成的不再用人工了的。。。再次谢谢。。。
[
Last edited by uforange on 2008-9-4 at 12:45 AM ]
作者: HAT
时间: 2008-9-4 09:53
这个不行吗?
p-mailsend_4.0.cmd(命令行发送邮件,群发\多附件\匿名)
http://www.cn-dos.net/forum/viewthread.php?tid=29873
作者: uiopuiop
时间: 2008-9-4 10:05
标题: sendmail.vbs
'Comment envoyer un email en VBScript (SENDMAIL.VBS)
Option explicit
On error resume next
Const ProgVersion="3.0"
Dim WshArgs, WshNetwork
Dim iMsg, Flds, iConf
Dim i, j, sKey, sVal
Dim sFrom, sTo, sCC, sBCC, sSubject, sBody, sServer, iPort, sUserName, sPassword, sAttach()
Set WshArgs = WScript.Arguments
Set WshNetwork = WScript.CreateObject("WScript.Network")
'DEFAULT VALUES IF NONE GIVEN
sFrom = WshNetwork.ComputerName
sServer = "ROP-MES01"
iPort = 25
Rem AUTEUR: uiopuiop
Rem ------------------------------------------------------------------------
redim preserve sAttach(0)
for i=0 to WshArgs.Count - 1
GetVal WshArgs(i), sKey, sVal 'On split les arguments
wscript.echo "<" & sKey & "> = <" & sVal & ">"
Select case Ucase(sKey)
case "FROM": sFrom=sVal
case "TO": sTo=sVal
case "CC": sCC=sVal
case "BCC": sBCC=sVal
case "SUBJECT": sSubject=sVal
case "BODY": sBody=sVal
case "SERVER": sCC=sVal
case "PORT": iPort=sVal
case "USERNAME": sUserName=sVal
case "PASSWORD": sPassword=sVal
case "ATTACH"
j=uBound(sAttach):redim preserve sAttach(j+1)
sAttach(j)= sVal
' wscript.echo "Dim:" & j & " Attach:" & sAttach(j)
end select
next
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
' Set oRec = CreateObject("ADODB.Record")
' Set Conn = CreateObject("ADODB.Connection")
Flds("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
Flds("http://schemas.microsoft.com/cdo/configuration/smtpserver") = sServer
Flds("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = iPort
Flds("http://schemas.microsoft.com/cdo/configuration/sendusername") = sUserName
Flds("http://schemas.microsoft.com/cdo/configuration/sendpassword") = sPassword
Flds.Update
With iMsg
Set .Configuration = iConf
if uBound(sAttach)>0 then
for i=0 to uBound(sAttach) - 1
.AddAttachment sAttach(i)
next
end if
.From = sFrom
.To = sTo
.Cc = sCC
.bcc = sBcc
.Subject = sSubject
.TextBody = sBody
.Send
End With
if err.number <> 0 then
wscript.echo "ERREUR: [Number=" & err.number & "][Description=" & err.description & "]" & vbCrLf & vbCrLf & _
ShowSyntax()
else
wscript.echo "Mail sent successfully at " & Now
end if
wscript.quit
'Splitter une chaine en 2
Sub GetVal( sLigne, byRef sKey, byRef sVal)
Dim iPos
iPos=InStr(sLigne,"=")
if iPos>0 then
sKey=ucase(Left(sLigne,iPos-1))
if len(sLigne)>iPos then
sVal=Trim(Mid(sLigne,iPos+1,len(sLigne)-iPos))
else
sVal=""
end if
else
sKey=""
sVal=""
end if
' wscript.echo "Ligne:" & sLigne & " sKey=" & sKey & " sVal=" & sVal
end Sub
function ShowSyntax
Dim sOut
sOut = ""
sOut = sOut & "SYNTAXE: cscript " & wscript.Scriptname & " ARGUMENTS" & vbcrlf & vbCrLf
sOut = sOut & "From=<Email of sender>. Default is servername." & vbCrLf
sOut = sOut & "To=<Emails of recipients separated by ;>. The only mandatory parameter." & vbCrLf
sOut = sOut & "CC=<Emails of Carbon Copy separated by ;>" & vbCrLf
sOut = sOut & "BCC=<Emails of Blind Carbon Copy separated by ;>" & vbCrLf
sOut = sOut & "Subject=<Mail subject>" & vbCrLf
sOut = sOut & "Body=<Text body of email>" & vbCrLf
sOut = sOut & "Server=<Host name of SMTP server>. Default is " & sServer & "." & vbCrLf
sOut = sOut & "Port=<Port number of SMTP server>. Default is 25." & vbCrLf
sOut = sOut & "Username=<Username of non anonymous SMTP connection>" & vbCrLf
sOut = sOut & "Username=<Password of non anonymous SMTP connection>" & vbCrLf
sOut = sOut & "Attach=<Path of attachment>. Many attachments may be given" & vbCrLf & vbCrLf
sOut = sOut & "If arguments contain spaces, you must quote arguments" & vbCrLf
sOut = sOut & "cscript sendmail.vbs TO=user1@mycorp.com;
user2@yours.com " & chr(34) & "subject=Subject with spaces" & chr(34) & " Attach=c:\myfile1.txt " & chr(34) & "Attach=d:\my file2.txt" & chr(34) & vbCrLf
ShowSyntax = sOut
end function