' E-Mail aus QB heraus versenden DECLARE SUB SendeEMail (absender$, empfaenger$, betreff$, zeile$(), smtpserver$, smtpben$, smtppas$) DIM z$(1 TO 5) FOR i% = 1 TO 5 READ z$(i%) NEXT i% DATA "Lieber QB-Freund", "", "Dies ist der Inhalt zur" DATA "E-Mail, welche aus", "QuickBasic heraus gesendet wurde." INPUT "Absender-E-Mail-Adresse"; ab$ INPUT "Empf„nger-E-Mail-Adresse"; empf$ INPUT "Postausgangsserver"; smtpsrv$ INPUT "SMTP AUTH-Benutzername"; smtpusr$ PRINT "SMTP AUTH-Passwort"; COLOR 0 INPUT smtppwd$ COLOR 7 PRINT "Gleich verschicken wir eine E-Mail..." SendeEMail ab$, empf$, "E-Mail aus QB", z$(), smtpsrv$, smtpusr$, smtppwd$ PRINT "E-Mail versendet." SUB SendeEMail (absender$, empfaenger$, betreff$, zeile$(), smtpserver$, smtpben$, smtppas$) OPEN ENVIRON$("TEMP") + "\~SNDMAIL.VBS" FOR OUTPUT AS 1 PRINT #1, "Option Explicit" PRINT #1, "Const cdoSendUsingPort = 2" PRINT #1, "Const cdoBasic = 1" PRINT #1, "Dim oMailCfg, oMail" PRINT #1, "" PRINT #1, "Set oMailCfg = CreateObject(" + CHR$(34) + "CDO.Configuration" + CHR$(34) + ")" PRINT #1, "oMailCfg.Fields.Item(" + CHR$(34) + "http://schemas.microsoft.com/cdo/configuration/sendusing" + CHR$(34) + ") = cdoSendUsingPort" PRINT #1, "oMailCfg.Fields.Item(" + CHR$(34) + "http://schemas.microsoft.com/cdo/configuration/sendemailaddress" + CHR$(34) + ") = " + CHR$(34) + absender$ + CHR$(34) PRINT #1, "oMailCfg.Fields.Item(" + CHR$(34) + "http://schemas.microsoft.com/cdo/configuration/smtpserver" + CHR$(34) + ") = " + CHR$(34) + smtpserver$ + CHR$(34) ' Diese drei Zeilen sind fr SMTP-Server notwendig, die aus ' Spamschutzgrnden SMTP AUTH verlangen (siehe www.stopspam.ch) PRINT #1, "oMailCfg.Fields.Item(" + CHR$(34) + "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" + CHR$(34) + ") = cdoBasic" PRINT #1, "oMailCfg.Fields.Item(" + CHR$(34) + "http://schemas.microsoft.com/cdo/configuration/sendusername" + CHR$(34) + ") = " + CHR$(34) + smtpben$ + CHR$(34) PRINT #1, "oMailCfg.Fields.Item(" + CHR$(34) + "http://schemas.microsoft.com/cdo/configuration/sendpassword" + CHR$(34) + ") = " + CHR$(34) + smtppas$ + CHR$(34) PRINT #1, "oMailCfg.Fields.Update" PRINT #1, "" PRINT #1, "Set oMail = CreateObject(" + CHR$(34) + "CDO.Message" + CHR$(34) + ")" PRINT #1, "oMail.Configuration = oMailCfg" PRINT #1, "oMail.To = " + CHR$(34) + empfaenger$ + CHR$(34) PRINT #1, "oMail.Subject = " + CHR$(34) + betreff$ + CHR$(34) FOR i% = LBOUND(zeile$) TO UBOUND(zeile$) IF i% = LBOUND(zeile$) THEN PRINT #1, "oMail.Textbody = "; ELSE PRINT #1, "vbCrLf & "; END IF IF i% = UBOUND(zeile$) THEN PRINT #1, CHR$(34) + zeile$(i%) + CHR$(34) ELSE PRINT #1, CHR$(34) + zeile$(i%) + CHR$(34) + " & _" END IF NEXT i% PRINT #1, "oMail.Send" PRINT #1, "" PRINT #1, "Set oMail = Nothing" PRINT #1, "Set oMailCfg = Nothing" CLOSE 1 ' und dieses Script ausfhren SHELL "cscript //NoLogo " + ENVIRON$("TEMP") + "\~SNDMAIL.VBS" KILL ENVIRON$("TEMP") + "\~SNDMAIL.VBS" END SUB