E-Mail-Versand per SMTP

27. April 2007 13:43

Heute muss ich mich mal mit einer Frage an euch wenden.

Ab Dynamics NAV 5.00 gibt es ja bekanntlich die Codeunit 400 SMTP.

Nun wollte ich diese Funktionalität in eine 4.0 SP3 Datenbank übernehmen und habe die Codeunit dort unter der Nummer 50400 angelegt.

Da bei mir auch NAV5.0 installiert ist, funktioniert das natürlich alles einwandfrei.
Damit das auch unter 4.0 SP3 läuft muss also die SMTP-Komponente aus 5.0 (Microsoft.Navision.Mail.dll + Microsoft.Navision.Mail.tlb) registriert werden.
Mit dem DotNet-Framework 1.1 von NAV 4.0 SP3 ließ sich das auf dem Notebook vom Kollegen nicht registrieren, es musste also die Version installiert werden, welche mit NAV 5.0 ausgeliefert wird. (2.0 ???)
Damit konnte die Komponente zumindest registriert werden, jedoch ließ sich meine Codeunit 50400 immer noch nicht kompilieren, da Navision folgende Meldung ausspuckt:
"Die gewählte Typenbibliothek konnte nicht geladen werden."

Nun meine Frage:
Wie schaffe ich es, dass ich die SMTP-Funktionalität (inkl. der DotNet-Komponente) aus 5.0 in einer 4.0 SP3 Datenbank (Runtime ebenfalls 4.0 SP3) zum Laufen bekomme?

Die Möglichkeit eines technischen Upgrades ist mir bekannt, aber gibt es auch noch andere Wege (z. B. in der Art, wie ich es bereits versucht habe)?

27. April 2007 13:51

Wir hatten vor einiger Zeit das ähnliche Problem und dann unter Systemsteuerung/Software/Windowkomponente hinzufügen die Internet-Informationsdienste(IIS) hinzugefügt. Damit hat's (meine ich) funktioniert !?

27. April 2007 13:59

Das wäre eine Möglichkeit. Dann stellt sich mir aber sofort die nächste Frage: Wie spreche ich den Windows SMTP-Dienst aus Navision heraus an?

Bleibt immer noch die Frage offen, wie man es hinbekommt, die Bibliothek aus NAV 5.0 auch ohne NAV 5.0 Installation zum Laufen zu bringen.

27. April 2007 14:05

Ich habs in Navision 3.7 mit einer OCX Datei hinbekommen
die sich smtpMailX genannt hat. Ich glaube das ist eine kleine Delphi-OCX
die freeware ist. Damit gehts dann auch

29. April 2007 15:52

Diese OCX habe ich in NAV 2.6 auch eingebunden, klappt mit Lotus Notes sehr gut. :-)
Anbei der Link zu dem Beitrag hier im Forum.
FIN 2.6 und Lotus Notes
Gruß Mikka

29. April 2007 23:34

Hallo Timo,

verwaltete (.NET) Dlls werden mit regasm.exe und nicht mit regsvr32.exe registriert. Vielleicht hilft dir das weiter.

Siehe auch hier: http://msdn2.microsoft.com/de-de/library/tzat5yw6(vs.80).aspx

Viele Grüße Helge

30. April 2007 10:16

Danke für eure Vorschläge.
Dass es nur mit externen Komponenten möglich ist, war mir schon bekannt, deshalb wollte ich ja die Komponente von NAV 5.0 nehmen, damit ich die Lösung später durch den Austausch einer einzigen Variable auf 5.0 upgraden kann.

Helge hat geschrieben:[...] verwaltete (.NET) Dlls werden mit regasm.exe und nicht mit regsvr32.exe registriert. [...]
Danke für den Hinweis, jedoch war mir das schon bekannt.

Auf meinem Notebook brauchte ich die Komponente ja nicht registrieren, da ich ja 5.0 installiert habe, daher habe ich es mal einen Kollegen auf seinem Notebook ausprobieren lassen.
Er hat es genau nach meiner (geschriebenen) Anleitung gemacht.
Dadurch ist uns ja aufgefallen, dass sich die Komponente nicht mit DotNet 1.1 registrieren lässt.
Nachdem er das DotNet-Framework von der NAV 5.0-CD installiert hat, konnte er mit
C:\ClientVerzeichnisVonNAV4.0> C:\PfadZumDotNetFramework\regasm.exe Microsoft.Navision.Mail.dll
die Komponente registrieren, trotzdem ließ sich die Codeunit bei ihm nicht kompilieren.

Fällt mir gerade ein: Muss ich eventuell noch irgendwas mit der Microsoft.Navision.Mail.tlb anstellen?

30. April 2007 13:53

Das TLB File solltest du bei der Nutzung von regasm angeben:

Code:
regasm Microsoft.Navision.Mail.dll  /tlb:Microsoft.Navision.Mail.tlb


Die COM Informationen finden sich dort.

Du solltest vorher allerdings nochmal alles deregistrieren:

Code:
regasm Microsoft.Navision.Mail.dll /unregister /tlb:Microsoft.Navision.Mail.tlb

1. Mai 2007 17:55

Danke für diese Informationen, ich werde es mal von meinem Kollegen ausprobieren lassen und das Ergebnis hier bekanntgeben.
(Leider kann es etwas dauern, da ich die nächsten Tage wieder "on Tour" bin.)

8. Mai 2007 13:46

Hi
das ganze hat bei mir jetzt eine Zeit gut funktioniert.
Habe intern über exchange server benachrichtigungen an
lokale Benutzerkonten geschickt, doch seit zwei Tagen bekomme ich folgende Fehlermeldung:
The SMTP mail system returned the following error: (0x80040213):
Der Transport konnte keine Verbindung zum Server herstellen.

Kennt jemand das Problem?

8. Mai 2007 13:57

Gollum83 hat geschrieben:The SMTP mail system returned the following error: (0x80040213):
Der Transport konnte keine Verbindung zum Server herstellen.

Das klingt ganz stark danach, dass auf der angegebenen IP-Adresse kein SMTP-Server antwortet.
Entweder hat der Client keine Verbindung zu dem Server oder der SMTP-Serverdienst antwortet nicht.

8. Mai 2007 15:34

stimmt, es schaut normalerweise echt so aus,
jedoch kann ich es echt nicht verstehen.
Vom gleichen Client kann ich über Outlook auch intern Mails schreiben,
die ankommen.Es besteht auf jeden Fall eine Netzverbindung zum
besagten Server.
Auf dem Server ist Windows Small Business Server 2003, DC,
Exchange 2003.
Wie gesagt, am Server wurde nichts verändert.

Bisher habe ich meine Mails noch über die alte NavisionMail.dll
aus der Beta die Mails verschickt.
Auch der Austausch gegen die finale Version samt Neuregistrierung
bringt nichts

8. Mai 2007 15:39

vielleicht wurde der SMTP-Dienst am Server beendet. Outlook verwendet ein anderes Protokoll um Nachrichten an den Exchangeserver zu schicken (irgendwas mit x im Namen, ich glaube x400)

8. Mai 2007 16:05

Ich hatte mal Probleme mit unserem Virenscanner (MC Afee), der den entsprechenden Port geblockt hatte (Ich glaube Port 25?!).
Gruß Mikka

9. Mai 2007 13:00

hab den smtp dienst beendet und wieder gestartet,
bringt leider nichts

wir verwenden trend micro virenscanner,jedoch schon längere
zeit und es hat ja immer funktioniert

10. Mai 2007 09:01

Hast su schon im Ereignisprotokoll von Windows geschaut, ob hier evtl. eine
Meldung vorhanden ist?
Gruß Mikka

11. Mai 2007 08:15

ja hab ich auch schon gemacht

15. Juli 2008 08:59

Sorry, dass ich das Thema nochmal pushe.

Wenn ich eine OCX Datei registriere - muss ich das auf allen Client-Rechnern machen oder reicht das beispielsweise auf dem Server?

15. Juli 2008 09:06

auf allen Client Rechnern, da die OCX vom Client nicht vom Server gestartet wird!

15. Juli 2008 10:16

F11 hat geschrieben:Wenn ich eine OCX Datei registriere - muss ich das auf allen Client-Rechnern machen oder reicht das beispielsweise auf dem Server?

Wenn du die Automatische Dateiregistrierung verwendest, dann kannst du die DLLs komfortabel von einem Arbeitsplatz aus auf alle NAV-Arbeitsplätze verteilen.
Mit der nächsten Anmeldung an der Datenbank werden die DLLs dann auf den PC kopiert und automatisch registriert.

15. Juli 2008 15:01

Supi, danke!

Re: E-Mail-Versand per SMTP

29. Juli 2009 17:20

Hallo,

wir haben ein etwas komisches Phänomen. Wie bekannt wurde die Navision Mail Komponente aus V5 auf einer Maschine mit SQL Express und installiertem NAV V4 registriert. Mit angepassten Objekten in einer V4 Native Datenbank erfolgt der Mailversand einwandfrei. Importiere ich die Objekte in eine V4 SQL Datenbank und führe sie aus erhalte ich die Fehlermeldung, dass die Automation Instanz nicht erzeugt werden kann. So als ob die Registrierung nicht erfolgreich war.

Kennt jemand das Problem? Wir konnten das Phänomen auch auf einer weiteren Maschine nachstellen.