Sonntag, 26. Juni 2011

Visual Basic 2011 Excel VBA eMail Account programmieren SelMckenzie Selzer-McKenzie

Visual Basic 2011 Excel VBA eMail Account programmieren SelMckenzie Selzer-McKenzie

Author D.Selzer-McKenzie
Heute zeige ich Ihnen, wie Si emit Visual Basic oder mit Excel einen eigenen funktionieenden eMail Account programmieren und damit eMails mit Anhängen usw. Auch an Kopie-Empfänger versenden können.
Natürlich kann das auch in eine bestehende Applikation eingebaut werden und funktioniert reibungslos.
Welche Steuerelemente Sie brauchen, sehen Sie auf dem Video und auch den Code. Hier sollten Sie das Video anhalten, um den relativ kleinen Code abschreiben zu können.
Das wars dann.
Selzer-McKenzie
Der Code lautet:
Imports System.Configuration
Public Class Form1
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        BoxAnhang.ValueMember = "FullName"
        BoxAnhang.DisplayMember = "Name"
        BoxAnhang.DataSource = New ArrayList
    End Sub
    Private Sub KnopfSenden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KnopfSenden.Click
        Try
            Dim eMail As New Mail
            Dim mailFrom As String = ConfigurationManager.AppSettings("mailFrom")
            Dim smtpHost As String = ConfigurationManager.AppSettings("smptHost")
            Dim smtpUser As String = ConfigurationManager.AppSettings("smtpUser")
            Dim smtpPass As String = ConfigurationManager.AppSettings("smtpPass")
            Dim smtpPort As String = ConfigurationManager.AppSettings("smtpPort")
            BoxMailEingabe.Text = BoxMailEingabe.Text.Replace(",", ";")
            BoxKopieSendenAn.Text = BoxKopieSendenAn.Text.Replace(",", ";")
            BoxZweiteKopieSendenAn.Text = BoxZweiteKopieSendenAn.Text.Replace(",", ";")
            Dim mailTo() As String = BoxMailEingabe.Text.Split(";")
            Dim mailCC() As String = BoxKopieSendenAn.Text.Split(";")
            Dim mailbCC() As String = BoxZweiteKopieSendenAn.Text.Split(";")
            Dim strSubject As String = BoxBetreff.Text
            Dim strBody As String = BoxDerText.Text
            Dim sAttachments() As String
            ReDim sAttachments(BoxAnhang.Items.Count - 1)
            Dim mArr As ArrayList = BoxAnhang.DataSource
            For i As Integer = 0 To sAttachments.GetUpperBound(0)
                sAttachments(i) = CType(mArr(i), IO.FileInfo).FullName
            Next
            eMail.Send(mailFrom, smtpHost, smtpUser, smtpPass, smtpPort, mailTo, _
                       mailCC, mailbCC, strSubject, strBody, sAttachments)
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
        End Try
    End Sub

    Private Sub BoxAnhang_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles BoxAnhang.DragEnter
        e.Effect = DragDropEffects.All
    End Sub

    Private Sub BoxAnhang_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles BoxAnhang.DragDrop
        Dim path() As String = e.Data.GetData(DataFormats.FileDrop, False)
        Dim mArr As ArrayList = BoxAnhang.DataSource

        For i As Integer = 0 To path.Length - 1
            Dim bFileExists As Boolean = False
            'prüfen ob datei schon angefügt
            For j As Integer = 0 To mArr.Count - 1
                Dim existingFile As IO.FileInfo = mArr(i)
                If existingFile.FullName = path(i) Then
                    bFileExists = True
                End If
            Next
            If Not bFileExists Then
                mArr.Add(New IO.FileInfo(path(i)))
            End If
        Next
        BoxAnhang.DataSource = Nothing
        BoxAnhang.ValueMember = "FullName"
        BoxAnhang.DisplayMember = "Name"
        BoxAnhang.DataSource = mArr
    End Sub
End Class

Keine Kommentare:

Kommentar veröffentlichen

Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.