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

VB - Mail Attachments - Anhang mittels Listbox

Frage Entwicklung Visual Studio

Mitglied: Kurdirektor

Kurdirektor (Level 1) - Jetzt verbinden

16.02.2015, aktualisiert 13:33 Uhr, 615 Aufrufe, 4 Kommentare

Hallo,

ich habe folgenden Code geschrieben...

Dieser funktioniert soweit auch ganz gut aber leider nur dann wenn auch alle aufgeführten Bereiche der Listbox mit "Attachment links" gefüllt sind.
Ein versenden von weniger, als die im Programm vorgegebenen Attachments ist nicht möglich. Das Programm wird dann beendet mit dem Hinweis das ein leerer Eintrag in ListBox1.Items.Item(x.1) nicht erlaubt ist.

Kennt jemand eine Möglichkeit wie man das Problem lösen könnte?

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim Msg As New MailMessage
Dim myCredentials As New System.Net.NetworkCredential

myCredentials.UserName = "XXXXXXXX"
myCredentials.Password = "XXXXX"
Msg.IsBodyHtml = False

Dim mySmtpsvr As New SmtpClient()

mySmtpsvr.Host = "smtp.gmx.net"
mySmtpsvr.Port = 587
mySmtpsvr.UseDefaultCredentials = False
mySmtpsvr.Credentials = myCredentials

Msg.From = New MailAddress("XXXXXXXX")
Msg.To.Add(TextBox2.Text)
Msg.Subject = TextBox1.Text
Msg.Body = TextBox4.Text + ";" + MA9 + ";" + MA10 + ";" + MA11 + ";" + MA12 + ";" + MA13 + ";" + MA16 + ";" + MA15 + ";" + MA14 + ";" + MA1 + ";" + MA2 + ";" + MA3 + ";" + MA4 + ";" + MA7 + ";" + MA6 + ";" + MA5 + ";" + MA8 + ";" + TextBox3.Text


Dim Attach As Attachment
Attach = New System.Net.Mail.Attachment(ListBox1.Items.Item(0.1))
If ListBox1.Items.Item(0.1).ToString <> "" Then Msg.Attachments.Add(Attach)

Dim Attach2 As Attachment
Attach2 = New System.Net.Mail.Attachment(ListBox1.Items.Item(1.1))
If ListBox1.Items.Item(1.1).ToString <> "" Then Msg.Attachments.Add(Attach2)

Dim Attach3 As Attachment
Attach3 = New System.Net.Mail.Attachment(ListBox1.Items.Item(2.1))
If ListBox1.Items.Item(2.1).ToString <> "" Then Msg.Attachments.Add(Attach3)

Dim Attach4 As Attachment
Attach4 = New System.Net.Mail.Attachment(ListBox1.Items.Item(3.1))
If ListBox1.Items.Item(3.1).ToString <> "" Then Msg.Attachments.Add(Attach4)

Dim Attach5 As Attachment
Attach5 = New System.Net.Mail.Attachment(ListBox1.Items.Item(4.1))
If ListBox1.Items.Item(4.1).ToString <> "" Then Msg.Attachments.Add(Attach5)

Dim Attach6 As Attachment
Attach6 = New System.Net.Mail.Attachment(ListBox1.Items.Item(5.1))
If ListBox1.Items.Item(5.1).ToString <> "" Then Msg.Attachments.Add(Attach6)

Dim Attach7 As Attachment
Attach7 = New System.Net.Mail.Attachment(ListBox1.Items.Item(6.1))
If ListBox1.Items.Item(6.1).ToString <> "" Then Msg.Attachments.Add(Attach7)

Dim Attach8 As Attachment
Attach8 = New System.Net.Mail.Attachment(ListBox1.Items.Item(7.1))
If ListBox1.Items.Item(7.1).ToString <> "" Then Msg.Attachments.Add(Attach8)

Dim Attach9 As Attachment
Attach9 = New System.Net.Mail.Attachment(ListBox1.Items.Item(8.1))
If ListBox1.Items.Item(8.1).ToString <> "" Then Msg.Attachments.Add(Attach9)

Dim Attach10 As Attachment
Attach10 = New System.Net.Mail.Attachment(ListBox1.Items.Item(9.1))
If ListBox1.Items.Item(9.1).ToString <> "" Then Msg.Attachments.Add(Attach10)

mySmtpsvr.Send(Msg)
MsgBox("Erfolgreich ausgeführt.", MsgBoxStyle.Information, Title:="Information")

End Sub
Mitglied: emeriks
LÖSUNG 16.02.2015, aktualisiert um 13:44 Uhr
Hi,
ohne dass ich mich jetzt konkret auf die SMTP-Sache beziehe:
Müsset das nicht so ausehen?

01.
If ListBox1.Items.Item(9.1).ToString <> "" Then  
02.
  Dim Attach10 As Attachment 
03.
  Attach10 = New System.Net.Mail.Attachment(ListBox1.Items.Item(9.1)) 
04.
  Msg.Attachments.Add(Attach10) 
05.
end if
Oder gleich:
01.
for each xItem in ListBox1.Items 
02.
  If xItem.ToString <> "" Then  
03.
    Dim A As Attachment 
04.
    A = New System.Net.Mail.Attachment(xItem) 
05.
    Msg.Attachments.Add(A) 
06.
  end if 
07.
next
E.
Bitte warten ..
Mitglied: Kurdirektor
16.02.2015 um 12:59 Uhr
Da kommt immer noch eine Fehlermeldung wenn in der Listbox kein Eintrag vorhanden ist:


01. If ListBox1.Items.Item(9.1).ToString <> "" Then // Fehlerausgabe: InvalidArgument=Value mit dem Wert 0 ist für index ungültig.

02. Dim Attach10 As Attachment

03. Attach10 = New System.Net.Mail.Attachment(ListBox1.Items.Item(9.1))

04. Msg.Attachments.Add(Attach10)

05. end if
Bitte warten ..
Mitglied: 114757
LÖSUNG 16.02.2015, aktualisiert um 13:33 Uhr
Item(9.1)
das kann ja nicht funktionieren! Das ist ja gar kein Integer-Wert als Parameter

Mach das mit der Foreach-Schleife von E. . Denn wenn du keine Elemente in deiner Listbox hast wird dein Code sowieso in eine Exception laufen !
Das einzelne definieren und Abfragen ist absoluter Anfänger Codemist ...

Gruß jodel
Bitte warten ..
Mitglied: Kurdirektor
16.02.2015 um 13:33 Uhr
Richtig, Anfänger ja

das mir der Foreeach SChleife hat funktioniert. Danke

Gelöst
Bitte warten ..
Ähnliche Inhalte
Exchange Server
Attachments aller eingehenden Mails in Logfile speichern (Exchange 2010) (3)

Frage von joni2000de zum Thema Exchange Server ...

Exchange Server
gelöst Sender von einer Mail mit einem Anhang suchen (3)

Frage von TheHawk zum Thema Exchange Server ...

Batch & Shell
gelöst Powershell Listbox Items verschieben (2)

Frage von internet2107 zum Thema Batch & Shell ...

JavaScript
gelöst Acrobat PDF und FDF als Anhang in einer Mail (3)

Frage von Luvpinkler zum Thema JavaScript ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
MSA 2050 RAID Konfig (30)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Microsoft Office
Office Druck fehler (14)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...