Hej!
Kan man mha vbscript logga in på en mailserver och skicka mail?
Man kan ju använda sig av CDO, men då kan man ju inte se de skickade mailen. Dvs de lagras inte i någon "utkorg"
Mvh
Henrik
8 svar · 521 visningar · startad av devotion
Hej!
Kan man mha vbscript logga in på en mailserver och skicka mail?
Man kan ju använda sig av CDO, men då kan man ju inte se de skickade mailen. Dvs de lagras inte i någon "utkorg"
Mvh
Henrik
Private Sub Form_Load()
Dim cdoMsg As CDO.Message
Set cdoMsg = New CDO.Message
cdoMsg.Configuration.Fields(cdoSMTPServer) = "102.16.100.19"
cdoMsg.Configuration.Fields(cdoSMTPConnectionTimeout) = 30
cdoMsg.Configuration.Fields(cdoSendUsingMethod) = cdoSendUsingPort
cdoMsg.Configuration.Fields.Update
cdoMsg.To = "mottagare1@hotmail.com,mottagare2@yahoo.com"
cdoMsg.From = "dinepost@dindomän.se"
cdoMsg.Subject = "Här kommer ett meddelande "
cdoMsg.TextBody = "Meddelandetext"
cdoMsg.AddAttachment ("\\sökväg\till\fil.ändelse")
cdoMsg.Send
Set cdoMsg = Nothing
Unload Me
End Sub
är bara ett exempel på hur du kan skicka mail direct från vb via cdo. Det finns egentligen inte så mycket begränsningar med vbscript och gör det det så tittar du bara på Windows PowerShell :)
Hej! :)
Jo, det ser ju fint ut, men jag skulle vilja spara de skickade mailen på något enkelt sätt. Dvs i likhet med en mailklients "Skickat"
Mvh
Henriik
då får du väl göra det också i en databas innan mailet förstörs med
Set cdoMsg = Nothing
Unload Me
:)
Kika på MAPI.Session.
:)
Tanken var att slippa det, och istället använda sig av någon färdig programvara för detta. Jag har script för att kunna skicka mail med Outlook, men då måste man vara inloggad i sin klient när man skickar mailet. Det är en applikation som ska skicka iväg mailet automatiskt och jag vill att man med vbscript ska kunna trigga detta!
Mvh
Henrik
M.h.a. av t.ex. <http://www.thescripts.com/forum/thread103509.html > och <http://www.forumtopics.com/busobj/viewtopic.php?t=15915 > bör du kunna få ihop något trevligt.
Hej!
Nu har jag gjort följande funktion:
Option Explicit
Function Exchange_SendMail(sSubject, sTo, sBody)
dim oSession, sServer, sMailbox, sProfileInfo
dim oMessage, oOneRecip, bShowDialog
Set oSession = CreateObject("MAPI.Session")
sServer = "server"
sMailbox = "User"
sProfileInfo = sServer + vbLf + sMailbox
oSession.Logon , , , false, , true, sProfileInfo
' Skapa medelande och dess egenskaper
Set oMessage = oSession.Outbox.Messages.Add
oMessage.Subject = sSubject
oMessage.Text = sBody
' Skapa mottagare
'Set oOneRecip = oMessage.Recipients.Add
Set oOneRecip = oMessage.Recipients.Add
oOneRecip.Name = sTo
oOneRecip.Type = 2
'Använd MAPI för att hämta komplett e-postadress
oOneRecip.Resolve
' Skicka meddelande och logga ut
oMessage.Send
bShowDialog=False
oSession.Logoff
set oSession = nothing
set oMessage = nothing
set oOneRecip = nothing
End function
Funkar finfint. Mailet skapas och skickas och ligger i aktuell användares "skckat-mapp".
Men
Mailet blir i oformaterad text och signaturen kommer inte med i mailet.
Kan man styra detta på något sät?
Mvh
Henrik