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
GELÖST

Email versenden direkt aus Access 2010?

Frage Microsoft Microsoft Office

Mitglied: IngChris

IngChris (Level 1) - Jetzt verbinden

14.09.2010 um 12:59 Uhr, 43503 Aufrufe, 12 Kommentare

Hallo,

Wie kann ich direkt aus einem Access 2010 - Formular emails versenden?

Var1) z.B. eine Bestellung (Lieferantendaten vorhanden, Bestellung wird z.B. in einem Textfeld eingegeben od. automatisiert in die email übernommen)
Var2) eine email mit Anhang (word, .pdf o.ä)

Es gibt zwar z.B. bei access-paradies.de einen Mailmanager für Access (dz. aber anscheinend nur bis Access 2007 unterstützt).

Kennt jemand ein entspr. Tool, daß unter Access 2010 funktioniert (zusätzl. Anforderung: die DB soll dann auf einem Win Terminalserver 2008 R2 (64Bit) laufen.

Vielen Dank

LG IngChris
Mitglied: Berrnd
14.09.2010 um 21:18 Uhr
Hi,

funktioniert ziemlich einfach per Makro (senden direkt über einen SMTP Server).
Hier mal direkt eine kleines Beispiel:
01.
Set EMail = CreateObject("CDO.Message") 
02.
With EMail 
03.
	.From = "absender@domain.tld" 
04.
	.To = "empfaenger@domain.tld" 
05.
	.Subject = "Betreff" 
06.
	.TextBody = "Mail Text......" 
07.
	With .Configuration.Fields 
08.
		.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
09.
		.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.domain.tld" 
10.
		.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 
11.
		.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "Benutzer" 
12.
		.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Passwort" 
13.
		.Update 
14.
	End With 
15.
	.Send 
16.
End With
Gruß
Bernd
Bitte warten ..
Mitglied: IngChris
14.09.2010 um 22:13 Uhr
Hallo Bernd

Dickes Lob. Hat auf Anhieb funktioniert; hab schon testweise ein Formular gebaut, wo ich in einem Textfeld die entspr. Nachricht übergeben kann...

- Kannst Du mir bitte noch sagen, wie man dem Anwender, der jetzt z.B. im Formular auf email senden klickt, auch noch eine Rückmeldung geben kann, daß die email auch versendet wurde (ich meine aber nicht eine Meldung die ich über Access simuliere, sobald der Programmcode zum Senden der Mail ausgeführt wurde)?

- Wie kann ich einen Anhang mitsenden?

- Hast du vielleicht eine Link zum Thema email über Access?


Vielen Dank IngChris
Bitte warten ..
Mitglied: Berrnd
14.09.2010 um 22:28 Uhr
Hi,

was stellst du dir denn für eine Rückmeldung vor?
Ganz einfach z. B. 'ne Messagebox mit (direkt im makro)
01.
MsgBox "Mail war super erfolgreich!"
Oder du könntest dem Absender auch eine Bestätigungsmail schicken, dazu bräuchtest du halt dessen Mail Adresse.

Anhang geht mit (in Bezug auf das Snippet oben):
01.
EMail.AddAttachment "C:\DeineDatei.pdf"
Links/Hilfen/Anleitung zu dem Thema findest du massig -> Google:
http://goo.gl/xkku

Gruß
Bernd
Bitte warten ..
Mitglied: IngChris
14.09.2010 um 23:03 Uhr
hallo,


eine Meldung kann ich nach ausführen des VBA-Codes schon generieren.

Ich meinte nur, ob es noch einen späteren Zeitpunkt - z.B eine Windows-Systemroutine o.ä. gibt, die vielleich noch einen in Access auswertbaren Fehler bringt, dass die email den Rechner doch nicht verlassen hat, oder ist das ausführen meiner Senderoutine schon der letzte Zeitpunkt?

Einen Fehler kann ich zumindest auswerten, das wäre wenn z.B. keine Internetverbindung besteht, hier bekomm ich beim Ausführen meiner Senderoutine einen entspr. Laufzeitfehler (Laufzeitfehler: -2147220973. "Der Transport konnte keine Verbindung zum Server herstellen.")
Solche auswertbaren Fehler meinte ich, gibt´s von denen noch mehr ?

PS: Attachments funktionieren auch.
Zu diesem Thema hab ich noch entspr. VBA-Code gefunden, um das Dateidialog - Formular zu öffnen --> dann eine Datei auswählen, diese wird dann bei Klick auf Öffnen in ein Textfeld übernommen. Dieser Textfeldeintrag (Datei) kann dann als Attachment verwendet werden; d.h. der Dateipfad muß nicht händisch ins Textfeld eingegeben werden, sondern kann bequem über das Dateidialog-Formular gesucht und ausgewählt werden. (hat bei mir auch unter Access 2010 funktioniert).
http://support.microsoft.com/kb/888695/de

LG
Bitte warten ..
Mitglied: Berrnd
15.09.2010 um 17:22 Uhr
Hi,

ja, das Ausführen der Routine ist der letzte, und einzige, Zeitpunkt, an dem die Laufzeitfehler passieren können.
Evtl. könntest du ja, wenn unbedingt nötig, vorher überprüfen ob der SMTP Server erreichbar ist (z. B. durch Ping oder so).

Ob es noch mehr definierte Laufzeitfehler der CDO-Komponente gibt, weiss ich leider grad auch nicht. Da hilft aber doch sicher Google... ;)

Gruß
Bernd
Bitte warten ..
Mitglied: IngChris
15.09.2010 um 22:23 Uhr
hallo,

I. Ich generiere jetzt die Meldung "email gesendet" unmittelbar nach dem .SEND-Kommando; die Ausführung des .SEND - Kommandos dauert eh einige Sekunden, dann erst wird meine Meldung "email gesendet" angezeigt. (ich nehme an, daß .Send auf ein OK vom System wartet (vielleicht aber auch nicht), wie auch immer so funktioniert´s ganz fein).

Eines möchte ich noch ergänzen:

Auf meinem TerminalServer 2008 R2 hat die email-Versendung über Access 2010 nicht sofort funktioniert:
(hier hatte ich allerdings bei SMTP, Username u. Kennwort andere Einstellungen als auf meinem Win7-Notebook und access 2010 , wo es ja auf Anhieb funktionierte)

Erst nach Einfügen des folgenden Befehl funktionierte es:
01.
 .Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
Beschreibung Smtpauthenticate: gibt den Mechanismus an, der bei dem Authentifizieren an einem SMTP-Dienst über das Netzwerk verwandt wird. Mögliche Werte
--cdoAnonymous schätzt 0. Authentifizieren Sie nicht.
--cdoBasic wertet 1. Verwenden Sie grundlegende Klartext Authentifizierung. Wenn Sie diese Option verwenden, müssen Sie den Benutzername und das Kennwort durch die Sendusername- und die Sendpassword-Feld eingeben.
--cdoNTLM wertet 2. Das current process security context wird zu dem Authentifizieren mit dem Dienst verwandt.

Hoffe daß ich damit dem einen oder anderen User ein bißchen an Zeit zu ersparen kann.

Nochmals vielen Dank an Bernd.

Ich denke, wir können das Thema email über Access 2010 generieren als gelöst betrachten

LG IngChris
Bitte warten ..
Mitglied: moinAuch
18.05.2011 um 18:46 Uhr
Hallo Bernd,

sehr schöne Lösung, funktionier sehr gut. Ich habe aber noch mal ne Frage bezüglich der Sicherheit. Wo schicke ich da meine Emaildaten(u.a. ja auch Passwort) hin? Was ist "schemas.microsoft.com"? kann ich mir sicher sein das MS diese Daten nicht zweckentfremdet? Evtl. weißt du was dazu.

Schon mal Danke und Grüße
Bitte warten ..
Mitglied: Berrnd
18.05.2011 um 19:23 Uhr
Hi,

du schickst deine Daten nirgendwo hin! ;)
Die URL definiert lediglich einen Namespace, mehr dazu z. B. hier http://msdn.microsoft.com/en-us/library/ms872853(v=exchg.65).aspx

Viele Grüße
Bernd
Bitte warten ..
Mitglied: moinAuch
18.05.2011 um 19:51 Uhr
Hallo Bernd,

vielen Dank für deine schnelle Antwort.
Auch wenn ich die Angabe des Namespace in Form einer http-Adresse irgendwie iritierend finde.

Aber evtl. kann ich dir noch eine Frage stellen:

Ich hatte bis jetzt meine Mails aus Access heraus nach Outlook geschickt und von dort versendet. Allesdings funktioniert dies nicht mehr mit dem 64 Bit System.
Weißt du ob es für 64 Bit auch eine Outlook Lösung gibt?

Danke noch mal, Gruß

Andi
Bitte warten ..
Mitglied: Berrnd
18.05.2011 um 20:05 Uhr
Hi,

das weiß ich leider nicht, mit Outlook hab ich das noch nie gemacht...
Die 64-bit Office Version wird ja von Microsoft für den "normalen Gebrauch" eh nicht empfohlen...

Viele Grüße
Bernd
Bitte warten ..
Mitglied: pwakolbi
20.09.2013 um 12:52 Uhr
Hallo Bernd!
Ich bin neu hier und bitte um deinen Hilfe:

Ich habe deinen Betrag gelesen und auch versucht zu realisieren.
Ich komme aber nicht ganz klar. Meinst du mit "Makro" ein Makro oder einen VBA-Cod?
Ich möchte einen Access-Bericht ohne Outlook versenden.
Meine bisherigen Bemühungen waren nur bedingt funktionsfähig.
Ich bin dann zufällig auf deinen Eintrag gekommen.


Mit freundlichen Grüßen

Peter
Bitte warten ..
Mitglied: Berrnd
20.09.2013 um 14:32 Uhr
Hi,

ich denke du bringst da grundlegend was durcheinander oder ich versteht deine Frage nicht.

Makros sind Funktionen oder Prozeduren.
Das da oben ist nichts fertiges, sondern nur ein Schnipsel.
Makros kann man in Office nur in "Visual Basic for Applications" schreiben.
Den passenden Editor kannst du mit Alt + F11 starten.

Vielleicht hilft das ja.
Ansonsten einfach ganz am Anfang der Hilfe oder eines beliebigen Tutorials anfangen, nicht böse gemeint.

Viele Grüße,
Bernd
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Datenbanken
gelöst Access Report per Email versenden, hat jemand zufällig einen Code dafür(VBA) (7)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Apache Server
gelöst OsTicket Email versenden klappt nicht (5)

Frage von ClepToManix zum Thema Apache Server ...

Datenbanken
gelöst Syntaxfehler VBA Access 2010 (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Visual Studio
gelöst Email Versenden Mit VB (2)

Frage von UltraZz zum Thema Visual Studio ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...