webForumDet fria alternativet

Skicka mail

8 svar · 521 visningar · startad av devotion

devotionMedlem sedan jan. 20013 582 inlägg
#1

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

CatZMedlem sedan jan. 20022 440 inlägg
#2
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 :)

devotionMedlem sedan jan. 20013 582 inlägg
#3

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

CatZMedlem sedan jan. 20022 440 inlägg
#4

då får du väl göra det också i en databas innan mailet förstörs med

Set cdoMsg = Nothing
	Unload Me

:)

Peter SMedlem sedan dec. 20025 483 inlägg
#5

Kika på MAPI.Session.

devotionMedlem sedan jan. 20013 582 inlägg
#6

:)

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

devotionMedlem sedan jan. 20013 582 inlägg
#7

Peter S skrev:

Kika på MAPI.Session.

Berätta mer!

:)

Mvh
Henrik

Peter SMedlem sedan dec. 20025 483 inlägg
#8

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.

devotionMedlem sedan jan. 20013 582 inlägg
#9

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

132 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)