Textbox in eine Mail ausgeben.

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Florianox.

    Textbox in eine Mail ausgeben.

    Hallo Leute,

    ich versuche mit diesem Programm den Benutzer etwas in eine Textbox eingeben zu lassen und das anschließend per Klick auf einen Button in eine Mail einzufügen, die sich dann automatisch versendet. Ich hab es schon einiges versucht, jedoch erfolglos.. Das Prozedere, wenn ich einen Text direkt in den Quellcode eingebe, funktioniert alles ( .Body = "Hallo"). Nur weiß ich nicht, wie ich die Textboxeingabe in meine Mail reinbekomme. Bitte helft mir!

    Hier der Quellcode:

    Dim olApp As Object
    olApp = CreateObject("Outlook.Application")
    With olApp.CreateItem(0)
    'Empfänger
    .Recipients.Add("stubert@iquinox.de")
    'Betreff
    .Subject = "Test"
    'Nachricht
    .Body = txtMail.Text
    'Lesebestätigung aus
    .ReadReceiptRequested = False
    'Dateianhang
    .Send()
    End With
    olApp = Nothing
    1. Kann es sein, dass du seit ungefähr 3 Stunden mit VB programmierst und einen fertigen Code im INet gefunden hast?
    2. "Automatisch" bei Outlook ist relativ ... es kommt nämlich üblicherweise eine Sicherheitsabfrage.
    3. Woher weißt du, dass der Anwender ein konfiguriertes Outlook hat?
    Nein ich programmiere schon ein wenig länger.. Ich bin Anfänger in VB und ja ich habe den Code im Inet her. Darum geht es aber nicht!
    Warum ist es ein Problem wenn man sich Codes abguckt? Ich will lediglich eine Antwort darauf wie das umsetzbar ist. Zu deinem Punkt 2 und 3: Das ist in dem Fall egal weil es für das Eigennutzen gedacht ist.. übrigens: Das Programm funktioniert ja soweit.. nur weiß ich immer noch nicht wie ich die ausgefüllte textbox in die Nachricht der Mail bekomme..
    Ich schätze mal das Outlook das nicht zulässt. Aber das Problem gäbe es ja bei dem SMPT Client nicht. Wie die kommunikation ziwschen dem Outlook Object funktioniert weiß ich nicht, aber glaube ähnliches Thema hatten wir schonmal, wo man E-Mail, Subject an Outlook senden könnte, aber nicht den E-Mail Text. Aber ich würde es auch nicht über so ein umweg machen, sicherlich ist das auch von der Outlook Verison abhängig ob so eine Kontrolle funktioniert usw. hunderte Faktoren die da reinfuchsen. Da ist mir die saubere Lösung einen eigenen SMTP Client zu nutzen lieber. Vorallem hat man dort noch viel mehr möglichkeiten.
    Also ich habe mir das angeschaut und rumprobiert und es funktioniert komischer weiße über die Möglichkeit, die mir Dodo zeigte..
    Es funktioniert sogar so, wie ich es auch im letzten Quellcode haben wollte mit dem "txtMail.Text" .. hier spricht er darauf an und füllt die Mail damit (body).

    Hier der Quellcode:

    VB.NET-Quellcode

    1. Dim Msg As New Net.Mail.MailMessage
    2. Dim myCredentials As New System.Net.NetworkCredential
    3. myCredentials.UserName = "hanswurst@schinken.de"
    4. myCredentials.Password = "leberwurst"
    5. Msg.IsBodyHtml = False
    6. Dim mySmtpsvr As New Net.Mail.SmtpClient()
    7. mySmtpsvr.Host = "smtp.web.de" 'bei web.de
    8. mySmtpsvr.Port = 25
    9. mySmtpsvr.UseDefaultCredentials = False
    10. mySmtpsvr.Credentials = myCredentials
    11. Try
    12. Msg.From = New Net.Mail.MailAddress("hanswurst@schinken.de")
    13. Msg.To.Add("dieter@krause.de")
    14. Msg.Subject = "Test"
    15. Msg.Body = txtMail.Text & txtEntwurf.Text
    16. mySmtpsvr.Send(Msg)
    17. MsgBox("E-Mail gesendet.", MsgBoxStyle.Information, Title:="Information")
    18. Catch ex As Exception
    19. MsgBox(Err.Number & ex.Message & ex.StackTrace.ToString) 'Falls ein Fehler auftritt wird eine MsgBox angezeigt
    20. End Try
    21. End Sub



    Edit by Dodo:
    Nächstes Mal bitte den VB-Tag benutzen wenn du Code Postest
    -> VB-Tag eingefügt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dodo“ ()