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

Versand von Email per CDO.Message fehlerhafte Email Protokollieren

Frage Microsoft Microsoft Office

Mitglied: christiankarl

christiankarl (Level 1) - Jetzt verbinden

13.08.2013, aktualisiert 16:44 Uhr, 2702 Aufrufe

Hallo,
ich versuche Mails per Microsoft Access zu versenden
es kann sein, dass in den Adressen mal falsch geschriebene Empänger vorhanden enthalten sind.

Beim versand erhalte ich dann die FM:

Laufzeitfehler '-214722099 (8004020f)
Der Server hat eine oder mehere Empängeradressen zurückgewiesen. Die Serverantwort lautet 501 5.5.4 Invalid Adress


01.
Private Sub Befehl_Senden_Click() 
02.
Dim objNachrich As MailItem 
03.
Dim EMailbetreff As String 
04.
Dim EMail_orginal As String 
05.
Dim Email As String 
06.
Dim anzahlmail As String 
07.
Dim empfänger As String 
08.
Dim db As Database 
09.
Dim Rs As Recordset 
10.
Call IPH 
11.
 
12.
If [Betreff] = "" Or [Mailtext] = "" Then 
13.
MsgBox "Sie haben noch keine E-Mail erstellt" 
14.
Exit Sub 
15.
End If 
16.
 
17.
'Öffne vorlage 
18.
EMailbetreff = [Betreff] 
19.
EMailVorlage = [Mailtext] 
20.
'Öffne vorlage Ende 
21.
   
22.
   
23.
   Set objMessage = CreateObject("CDO.Message") 
24.
    
25.
   Call CDO_config 
26.
    
27.
  With objMessage.Configuration.Fields 
28.
    '==This section provides the configuration information for the remote SMTP server. 
29.
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = sendusing           '==Normally you will only change the server name or IP. 
30.
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = smtpserver         'Name or IP of Remote SMTP Server 
31.
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = smtpserverport 'Server port (typically 25) 
32.
    .Update 
33.
    '==End remote SMTP server configuration section== 
34.
  End With 
35.
   
36.
'Auslesen Anzahl E-Mail Adressen 
37.
    Set db = CurrentDb() 
38.
    Set Rs = db.OpenRecordset("Email", dbOpenDynaset) 
39.
    Rs.MoveLast             ' <-- wichtig, sonst 'RecordCount' evtl. falsch 
40.
    iMaxZeile = Rs.RecordCount 
41.
    Rs.MoveFirst 
42.
    MsgBox "Es werden: " & iMaxZeile & " E-mails gesendet" 
43.
'Auslesen Anzahl E-Mail Adressen Ende 
44.
      
45.
'Senden 
46.
  'Schleife 
47.
   
48.
    For w = 1 To 10 
49.
     If eAnhang(w) <> "" Then 
50.
     objMessage.AddAttachment eAnhang(w) 'Anhang aus formular 
51.
     End If 
52.
    Next 
53.
     
54.
  For i = 1 To iMaxZeile 
55.
      
56.
    Email = Replace(EMailVorlage, "[Anrede]", Rs.Fields("Anrede") & "") 
57.
    Email = Replace(Email, "[Anrede-Anschreiben]", Rs.Fields("Anrede-Anschreiben") & "") 
58.
    Email = Replace(Email, "[Vorname]", Rs.Fields("Vorname") & "") 
59.
    Email = Replace(Email, "[Name]", Rs.Fields("Nachname") & "") 
60.
    Email = Replace(Email, "[Autohaus]", Rs.Fields("Autohaus") & "") 
61.
   
62.
    'Set objMessage = CreateObject("CDO.Message") 
63.
    With objMessage 
64.
     .Subject = EMailbetreff 
65.
     .Sender = Sender   ' Absender 
66.
     .From = SenderName ' Absendername 
67.
     .To = Rs.Fields("E-Mail") 
68.
     .HTMLBody = Email 
69.
     '.Send  'Senden E-Mail 
70.
     On Error Resume Next 
71.
     .Send 
72.
                   ' If Err.Number <> 0 Then 
73.
                   ' MsgBox Rs.Fields("E-Mail") 
74.
                   If (Err.Number = -2147220977) Then 
75.
                   MsgBox "Die E-Mail Adresse " & Rs.Fields("E-Mail") & " konnte nicht versendet werden:" & vbNewLine & vbNewLine & Err.Description 
76.
 
77.
                         
78.
                        'Response.Write ("Error sending email to " & Rs.Fields("E-Mail") & "<br />") 
79.
                         
80.
                        Err.Clear 
81.
                    End If 
82.
                On Error GoTo 0 
83.
    End With 
84.
    empfänger = empfänger & Rs.Fields("E-Mail") & "; " 
85.
    Rs.MoveNext 
86.
  Next 
87.
 'Schleife ende 
88.
    Rs.Close 
89.
    db.Close 
90.
     
91.
MsgBox " Emails erfolgreich versendet!" 
92.
  
93.
 Set db = CurrentDb 
94.
 Set Rs = db.OpenRecordset("09_Gesendete-Mails") 
95.
     
96.
    With Rs 
97.
       .AddNew 
98.
       !Betreff = EMailbetreff 
99.
       !Nachricht = EMailVorlage 
100.
       !Mailadresse = empfänger 
101.
       .Update 
102.
       .Bookmark = Rs.LastModified 
103.
    End With 
104.
     
105.
    Rs.Close 
106.
 db.Close 
107.
 
108.
 
109.
DoCmd.Close 
110.
End Sub
die Meldung per msgbox ausgeben funktioniert wunderbar,

nur wie bekomme ich es hin,

1. diese Meldung in eine Tabelle zu schreiben ( für einen Bericht )?
2. alle Errormeldungen anzeigen zu lassen und nicht nur die


Gruß
Christian

Neuester Wissensbeitrag
Ähnliche Inhalte
Exchange Server
Exchange 2013 - Primäre eMail Adresse ändern (7)

Frage von staybb zum Thema Exchange Server ...

Exchange Server
gelöst Neue email auf sbs 2011 geht nur mit internen emailabsendern (6)

Frage von jensgebken zum Thema Exchange Server ...

E-Mail
Responsive Email Designer (2)

Frage von MegaGiga zum Thema E-Mail ...

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 ...