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, 2743 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

Ähnliche Inhalte
E-Mail
gelöst Exchange 2016 - Empfang und Versand über unterschiedliche IP (6)

Frage von ArnoNymous zum Thema E-Mail ...

Exchange Server
gelöst E-Mail Versand nicht möglich - Providerwechsel (6)

Frage von Campino86 zum Thema Exchange Server ...

Windows 7
gelöst Tool für die Suche nach Absenderadresse in einer Email (3)

Frage von Juckie zum Thema Windows 7 ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Server-Hardware
gelöst Empfehlung KVM over IP Switch (8)

Frage von Androxin zum Thema Server-Hardware ...

Ubuntu
Nextcloud 12 Antivirus App for Files (8)

Frage von horstvogel zum Thema Ubuntu ...