Email versand mit Visual Basic

  • Hallo Forum,

    ich arbeite gerade an einer Möglichkeit Mails mit David und VB zu versenden.

    Folgender Code macht das:

    Dim oApp As DvApi32.IApplication
    Dim oAccount As DvApi32.Account
    Dim oArchive As DvApi32.Archive
    Dim oMailItem As DvApi32.MailItem
    Dim oAttachment As DvApi32.Attachment
    Dim l As Long
    Dim sAdresse As String
    Dim sAufDat As String
    Dim sHinweis As String

    Set oApp = CreateObject("DVOBJAPILib.DvISEAPI")
    Set oAccount = oApp.Logon("", "", "", "", "", "AUTH")
    Set oArchive = oAccount.GetSpecialArchive( _
    DvApi32.DvArchiveTypes.DvArchivePersonalOut)
    Set oMailItem = oArchive.NewItem(DvApi32.DvItemTypes.DvEMailItem)
    l = oMailItem.Recipients.Add(sAdresse, "MAIL", "")
    oMailItem.Subject = "Bestellbestätigung " & sAufDat
    oMailItem.BodyText.PlainText = "Anbei erhalten Sie Ihre " & _
    "Bestellbestätigung für Ihren " & _
    "Auftrag vom " & sAufDat
    oMailItem.Options.UserHold = False
    Set oAttachment = oMailItem.Attachments.Add("c:\Bestellung.rtf")
    oMailItem.Send


    Leider finde ich nicht heraus wie ich das erzeugte Mail vor dem Versand im InfoCenter öffnen kann. Kann jemand von Euch mir helfen?

    Gruß,

    Ralf

  • Hallo Ralf,

    hast Du hierzu schon eine Lösung gefunden?
    Ich suche nämlich das selbe und bin bisher genau so weit wie Du...

    Danke,

    Andreas

  • Hallo,

    in der Theorie könnte ich mir folgendes vorstellen. Du musst die Nachricht zunächst in einem Archive deiner Wahl speichern und anschließend veranlassen das sie von dort geöffnet wird.

    Gruß Markus

  • Nein, bin bisher nicht weiter gekommen. Scheint aber auch nicht gerade ein populäres Problem zu sein...

    Ralf

  • Hallo,

    hier mal ein Auszug wie man ein MailItem als *.eml abspeichert. Das könntest du einfach temporär machen und anschließend das System veranlassen diese *.eml Datei zu öffnen. Daraufhin sollte automatisch das David InfoCenter starten und die Nachricht anzeigen.


    Gruß Markus

  • Schade...

    Zur Idee von Markus: kennt jemand eine Möglichkeit, "von außen" zu veranlassen, dass eine bestimmte Nachricht geöffnet wird?

    Gibt es für das InfoCenter eventuell irgendwelche Kommandozeilen-Parameter?

    Edit: etwas zu langsam...

    Die (neue) Idee von Ralf werde ich mal probieren... Ich melde mich dann wieder wenn ich weiter bin.

    Einmal editiert, zuletzt von AndRo (26. April 2007 um 13:04)

  • Hallo,

    ja Parameter gibt es dazu findet man was in der KB von Tobit. Man kann das ganze aber auch mit Hilfe des Betriebssystems machen. Suche doch einfach mal in der MSDN nach der Funktion ShellExecute mit dieser sollte das eigentlich möglich sein.

    Gruß Markus

  • Hallo zusammen,

    welche neue Idee von Ralf? Ich sehen leider keine.

    Gruß Markus

  • Zitat

    Original von elliot2extreme
    Hallo zusammen,

    welche neue Idee von Ralf? Ich sehen leider keine.

    Gruß Markus

    Entschuldigung...

    Ich sehe gerade, dass ich die Namen verwechselt habe :rolleyes:

    Die neue Idee, die ich meinte, war natürlich die von Markus (als .EML lokal aus der API heraus speichern und dann mit ShellExecute öffnen)

  • Hallo,

    folgende Möglichkeit in KB beschrieben:

    Aufrufparameter für InfoCenter Q-106.693

    Option
    /EML file (EML Datei öffnen und darstellen) inkl. Beispiel

    Das ist ne Möglichkeit das Mail anzuzeigen.

    Ralf

  • Zu früh gefreut:

    Das Öffnen der EML-Datei (auch über den /EML-Schalter mit DVWin32.exe) öffnet die Nachricht zwar, aber im "Anzeigen"-Modus.

    Ich hätte die Nachricht gerne im "Bearbeiten"-Modus geöffnet, damit das Anschreiben noch angepasst werden kann...

    Gibt es hierzu noch eine Idee??

    Andreas

  • Hallo,

    das ich habe ich auch noch in der KB von Tobit gefunden:
    /I Received Status der Mail ignorieren (In Bearbeitenmodus öffnen)

    Also versuche doch mal bitte folgenden Aufruf:
    DVWIN32 /EML C:\TEMP\PRICELIST.EML /I

    Gruß Markus

  • Funktioniert leider auch nicht ;( :

    Setze ich das /I vor das /EML, dann wird eine leere Mail im Berabeiten-Modus geöffnet.

    Setze ich das /I an das Ende, dann wird die Mail-Anzeige (ohne Bearbeiten-Modus) ohne Inhalt geöffnet.

    Schade...

    Andreas

  • Hallo Andreas,

    vielleicht kannst du dich mit dem letzten Problem ja mal an den Support von Tobit wenden, wenn dies nämlich nicht korrekt funktioniert, dann handelt es sich dabei wohl um einen Bug in der Software.

    Gruß Markus

    Einmal editiert, zuletzt von elliot2extreme (2. Mai 2007 um 14:10)

  • Hallo o_g_r,

    nimm doch die Komponente Microsoft Mapi Controls 6.0.
    Mit diesen kann wunderbar den Nachrichtendialog des Standard-eMail-Clients "steuern", also Empfänger, Betreff, Body, Attachments usw. Und natürlich auch den Nachrichtendialog vor dem Senden mit den Daten anzeigen lassen.

    Micha

  • Hallo zusammen,

    das funktioniert aber nur solange, wie man die Standard Mapi-Befehle benutzt. Die Extended Mapi-Befehle werden nämlich von David nicht unterstützt.

    Gruß Markus

  • Ja, das kann ich nur so stehen lassen, alles was über die Standardbefehle hinaus geht funzt leider nicht.

  • Ich hab mir das MAPI-Control gerade nal angeschaut: Alles was ich brauche scheint zu gehen :D
    Ich kann: Empfänger, Betreff, Nachrichtentext eintragen, Anhänge mitsenden und vor allem: die Nachricht nicht direkt versenden sondern zuerst im Editor anzeigen.
    Ich denke, daraus kann ich mir die gewünschte Lösung basteln.

    Danke, Andreas

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!