cor35vet
Goto Top

Mit VBS E-Mail senden(ohne Outlook)

Hallo erstmals.

Also ich habe folgendes Problem:

Ich möchte mit VBS ein Tool schreiben mit dem ich automatisch E-Mails senden kann ich habe bis jetzt das:
Option Explicit
Dim from,receiver,subject,body
Dim oCDO

from = InputBox("Bitte geben sie den Sender der E-Mail an!","E-Mail Client by BotoX","Sender")  
receiver = InputBox("Bitte geben sie den Empfänger der E-Mail an!","E-Mail Client by BotoX","Empfänger")  
subject = InputBox("Bitte geben sie den Betreff der E-Mail an!","E-Mail Client by BotoX","Betreff")  
body = InputBox("Bitte geben sie den Text der E-Mail an!","E-Mail Client by BotoX","Text")  
WScript.Echo "Nachricht erstellen"  
Set oCDO = Wscript.CreateObject("CDO.Message")  

With oCDO ' Baue Nachricht zusammen  
 .From = from ' Sender  
 .To = receiver ' Empfänger  
 .Subject = subject ' Betreff  
 .TextBody = body

 WScript.Echo "Nachricht erstellt"  
 .Send 'Hier kommt immer die fehler Meldung!  
End With

WScript.Echo "Nachricht verschickt"  

Also leider kommt immer die Fehlermeldung:
cf79d2acc18d22a4116dc0fd5b2ddb37-unbenannt


Ich hoffe ihr könnt mir helfen

PS. Ihr könnt den Code für eure zwecke benützen und weitergeben (naja falls er am schluss funktioniert)

Content-ID: 108629

Url: https://administrator.de/contentid/108629

Ausgedruckt am: 08.11.2024 um 13:11 Uhr

kruder77
kruder77 15.02.2009 um 20:47:57 Uhr
Goto Top
Fehlercode: 80040220 -> http://support.microsoft.com/kb/963168/de

gruß
kruder
cor35vet
cor35vet 16.02.2009 um 00:48:12 Uhr
Goto Top
Danke es hat mir mehr oder weniger geholfen obwohl ich jetzt weiß ,dass ich einen Server brauch face-sad deshalb das weniger.
Vielleicht gibt es ja eine andere Methode eine E-Mail über VBS zu senden.
kruder77
kruder77 16.02.2009 um 01:35:01 Uhr
Goto Top
Du kannst über SMTP,POP3 bei deinen E-Mail Provider deine Email versenden/abrufen,
wenn Du keinen eigenen Server hast... und das wiederum kannste in deine Form integrieren...

Schaue Dir mal in der Hilfe das MailMessageObject an...
und die Namespaces:

Imports System.Net.Mail
Imports System.Net.Mail.SmtpClient

gruß
kruder
cor35vet
cor35vet 16.02.2009 um 09:32:57 Uhr
Goto Top
Nur das Problem is ich wollte eigentlich zu jeder mailadresse etwas schicken können und das kann ich aber auch über telnet wie zb.
telnet mx0.gmx.net 25
kruder77
kruder77 16.02.2009 um 12:04:11 Uhr
Goto Top
Na Du kannst ja zu jeder Mailadresse etwas versenden, das SMTP ist ja für die Absender-Adresse... Die Mailadresse an die es gesendet wird kannste ja genau wie eigentliche Mail und die Betreffzeile als String übergeben...
n4426
n4426 16.02.2009 um 16:41:08 Uhr
Goto Top
Hi,

so ein Script, könnte dann für SMTP z.B. so aussehen.

Set objMessage = CreateObject("CDO.Message")   
objMessage.Subject = "Test"   
objMessage.From = """Absender"" <Absender@domain.de>"   
objMessage.To = "empfänger@domain.de"   
objMessage.CC = ""   
objMessage.BCC = ""   
objMessage.TextBody = "test"  


objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2   
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.domain.de"  
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1  
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = "absender@domain.de"  
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Passwort"  
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25   
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False  
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60  
objMessage.Configuration.Fields.Update

objMessage.Send 

mfg
andi
cor35vet
cor35vet 17.02.2009 um 12:01:26 Uhr
Goto Top
Danke andi,
aber leider löst das mein Problem nicht ganz.
Denn ich möchte die Email von jeder beliebigen Email adresse zu jeder beliebigen Adresse senden.
Aber es ist auch ein kleiner Vorteil denn ich bin bei GMX und wenn man da eine Email versendet kommt immer diese lästige werbung und hier nicht.

Trotzdem Danke für die Mühe andi, ich würde mich freuen wenn irgend wer vielleicht wie man von jeder beliebigen email zu jeder beliebigen email adresse senden kann oder einen server der jeden absender akzeptiert auch wenn es ihn nicht gibt.

Der Code für GMX:
Set objMessage = CreateObject("CDO.Message")   
objMessage.Subject = InputBox("Bitte geben sie den Betreff der E-Mail an!","E-Mail Client","Betreff")  
objMessage.From = InputBox("Bitte geben sie den Sender der E-Mail an!","E-Mail Client","Sender")  
objMessage.To = InputBox("Bitte geben sie den Empfänger der E-Mail an!","E-Mail Client","Empfänger")  
objMessage.CC = "InputBox("Bitte geben sie den CC der E-Mail an!","E-Mail Client","CC")"   
objMessage.BCC = "InputBox("Bitte geben sie den BCC der E-Mail an!","E-Mail Client","BCC")"   
objMessage.TextBody = InputBox("Bitte geben sie den Text der E-Mail an!","E-Mail Client","Text")  

objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2   
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmx.net"  
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1  
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = "!!! BENUTZERNAME !!!@gmx.at oder .net .biz , usw."  
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "!!! PASWORT !!!"  
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25   
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False  
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60  
objMessage.Configuration.Fields.Update

objMessage.Send