Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Massen E-Mail-Versand aus VBA Excel - Outlook Sicherheitsmeldung

Frage Entwicklung VB for Applications

Mitglied: gluehbirne

gluehbirne (Level 1) - Jetzt verbinden

09.03.2014 um 13:10 Uhr, 8520 Aufrufe, 3 Kommentare

Hallo Community!

Ich bin recht frisch in der VBA-Code Erstellung, deshalb entschuldigt diese blöden Fragen.

Ich habe ein Tool geschrieben, welches eine Massenmail Versand über Outlook aus Excel ermöglichen soll. Dies funktioniert eigentlich ganz wunderbar bis auf den Befehl .send - der soll ja die Mail automatisch in den Postausgang legen. Jedoch kommt immer die Sicherheitsmeldung in Outlook, dass ein Programm versucht eine Mail zu verschicken.

Da mein Tool eine Schleife mit etwa 450 Mails raushaut, ist diese Meldung absolut nervig und muss irgendwie abgeschalten / umgangen werden. Ich habe schon stundenkang gegoogelt und komme auf keinen grünen Zweig. Im Moment ist es so, dass ich mir mit SendKeys behelfe - was aber nicht ganz zuverlässig sein soll. Deshalb möchte ich gerne einen anderen Weg gehen.

Ein Forum hat mich auf die Idee gebracht das Tool digital zu signieren mit selfcert.exe . Angeblich kommt aber die Meldung dann immernoch. Hat jemand damit Erfahrungen?

Ein anderer Thread brachte mich auch die redemption.dll. Jedoch ist hier wiederum das Problem, dass die .dll auf jedem PC installiert sein muss, welcher mit der excel-Datei arbeiten will. Da ich verschiedene Aussagen im Netz fnde, möchte ich einfach euch fragen, ob Ihr Erfahrungen damit schon machen konnten und mir weiterhelfen könnt.

Ich habe bereits rumgelesen was die redemption.dll angeht - aber ich bin im Moment scheinbar zu blöd dazu, zu verstehen, wie ich die einbaue bzw. ob es wirklich mein Problem löst.

vielen Dank für eure Bemühungen schon im Voraus

gluehbirne
Mitglied: colinardo
09.03.2014, aktualisiert 08.09.2014
Hallo gluehbirne, Willkommen im Forum!
Ab Outlook 2007 kannst du die Warnung im Outlook-Sicherheitscenter deaktivieren:
Wichtig: Diese Einstellung lässt sich nur verändern wenn man Outlook als Administrator startet (Rechtsklick auf Outlook => "Als Administrator starten").

Alternativ sende die Mails via CDO-ComObject ganz ohne Outlook aus Excel heraus.

Grüße Uwe
Bitte warten ..
Mitglied: gluehbirne
10.03.2014 um 20:24 Uhr
Hi!

Ich kann in unserem Outlook die Sicherheitseinstellungen nicht ändern - offensichtlich per Policy bzw. Admin hat gesperrt.

Mein Chef hat aber heute schon gesagt, dass er sich wünscht bis Ende der Woche meinen VBA-Excel Mailer mit eingefügter Grafik haben zu wollen....na prima. Gegoogelt wieder seit Stunden und die MAPI-Funktion gefunden. Leider finde ich aber in meinem Excel 2013 keine Möglichkeit einen entsprechenden Verweis zu machen. Daran ist es übrigens auch mit der CDO gescheitert. Gibt es irgendwo eine gute Anleitung dafür? (for dummies offensichtlich :-P )

Diesen Code wollte ich entsprechend einarbeiten:

01.
   
02.
  ' create new Outlook MailItem 
03.
  Set objApp = CreateObject("Outlook.Application") 
04.
  Set l_Msg = objApp.CreateItem(olMailItem) 
05.
  ' add graphic as attachment to Outlook message 
06.
  ' change path to graphic as needed 
07.
  Set colAttach = l_Msg.Attachments 
08.
  Set l_Attach = colAttach.Add("c:\test\graphic.jpg") 
09.
  l_Msg.Close olSave 
10.
  strEntryID = l_Msg.EntryID 
11.
  Set l_Msg = Nothing 
12.
  ' *** POSITION CRITICAL *** you must dereference the 
13.
  ' attachment objects before changing their properties 
14.
  ' via CDO 
15.
  Set colAttach = Nothing 
16.
  Set l_Attach = Nothing 
17.
     
18.
  ' initialize CDO session  
19.
  On Error Resume Next 
20.
  Set oSession = CreateObject("MAPI.Session") 
21.
  oSession.Logon "", "", False, False 
22.
   
23.
  ' get the message created earlier  
24.
  Set oMsg = oSession.GetMessage(strEntryID) 
25.
  ' set properties of the attached graphic that make 
26.
  ' it embedded and give it an ID for use in an <IMG> tag 
27.
  Set oAttachs = oMsg.Attachments 
28.
  Set oAttach = oAttachs.Item(1) 
29.
  Set colFields = oAttach.Fields 
30.
  Set oField = colFields.Add(CdoPR_ATTACH_MIME_TAG, "image/jpeg") 
31.
  Set oField = colFields.Add(&H3712001E, "myident") 
32.
  oMsg.Fields.Add "{0820060000000000C000000000000046}0x8514", 11, True 
33.
  oMsg.Update 
34.
   
35.
  ' get the Outlook MailItem again 
36.
  Set l_Msg = objApp.GetNamespace("MAPI").GetItemFromID(strEntryID) 
37.
  ' add HTML content -- the <IMG> tag 
38.
  l_Msg.HTMLBody = "<IMG align=baseline border=0 hspace=0 src=cid:myident>" 
39.
  l_Msg.Close (olSave) 
40.
  l_Msg.Display 
41.
   
42.
  ' clean up objects 
43.
  Set oField = Nothing 
44.
  Set colFields = Nothing 
45.
  Set oMsg = Nothing 
46.
  oSession.Logoff 
47.
  Set oSession = Nothing 
48.
  Set objApp = Nothing 
49.
  Set l_Msg = Nothing 
50.
End Sub 
51.
 
Bitte warten ..
Mitglied: colinardo
11.03.2014, aktualisiert um 08:36 Uhr
Eine einfache Mail mit Attachment kannst du mit folgendem Code verschicken. Hierbei sind aber die Parameter an den Mailserver den Ihr verwendet anzupassen. Im Beispiel wird ein SMTP-Server mit TLS auf Port 25 angesprochen (Hinweis CDO kann TLS nur auf auf Port 25)
01.
Const cdoSendUsingPickup = 1 
02.
Const cdoSendUsingPort = 2 'Must use this to use Delivery Notification 
03.
Const cdoAnonymous = 0 
04.
Const cdoBasic = 1 ' clear text 
05.
Const cdoNTLM = 2 'NTLM 
06.
 
07.
' Mailserver Konfiguration 
08.
Const strUsername = "[USERNAME]" 
09.
Const strPassword = "[PASSWORD]" 
10.
Const strSMTPServer = "smtp.mailserver.de" 
11.
' SSL benutzen JA/EIN (ACHTUNG CDO unterstützt nur TLS auf Port 25) 
12.
Const boolUseSSL = True 
13.
 
14.
'Nachrichtendetails festlegen 
15.
strFrom = "absender@mail.de" 
16.
strTo = "empfaenger@mail.de" 
17.
strSubject = "Test" 
18.
strTextbody = "Das ist ein einfacher Text als Inhalt der Mail" 
19.
strHTMLBody = "<h3>Ich bin ein HTML-Body</h3>" 
20.
arrAttachments = Array("C:\Temp\computers.txt","C:\Temp\computers.txt") 
21.
 
22.
'---------------------------- 
23.
Set iMsg = CreateObject("CDO.Message") 
24.
Set objConf = CreateObject("CDO.Configuration") 
25.
set objFlds = objConf.Fields 
26.
With objFlds 
27.
  .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort 
28.
  .Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = boolUseSSL 
29.
  .Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 
30.
  .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTPServer 
31.
  .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic 
32.
  .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = strUsername 
33.
  .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strPassword 
34.
  .Update 
35.
End With 
36.
With iMsg 
37.
	Set .configuration = objConf 
38.
	.To = strTo 
39.
	.From = strFrom 
40.
	.Subject = strSubject 
41.
	.TextBody = strTextbody 
42.
	.HTMLBody = strHTMLBody 
43.
	For Each att In arrAttachments 
44.
		.AddAttachment att 
45.
	Next 
46.
End With 
47.
' Nachricht verschicken 
48.
iMsg.Send 
49.
MsgBox "Nachricht wurde verschickt!" 
50.
set iMsg = Nothing 
51.
Set objConf = Nothing 
52.
Set objFlds = Nothing

steht aber auch alles schön beschrieben unter obigen Link. Man muss es nur lesen.

Mein Chef hat aber heute schon gesagt, dass er sich wünscht bis Ende der Woche meinen VBA-Excel Mailer mit eingefügter Grafik haben zu wollen....
Dann präsentiere Ihm erst Wasserdichte Lösungen dann hast du keinen Stress, oder sag Ihm die Sicherheitseinstellung müssen dafür angepasst werden...

Grüße Uwe
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Microsoft Office
gelöst Verschieben von Zellinformation in andere Spalte (per VBA) excel 2010 (5)

Frage von thomas1972 zum Thema Microsoft Office ...

VB for Applications
Bilder vom LDAP in VBA - Excel (3)

Frage von Roadrunner777 zum Thema VB for Applications ...

Exchange Server
Mail Versand zu T-Online nicht möglich (13)

Frage von HeinrichM zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...