akosisugar Ответов: 1

Отправить письмо с вложением в vb.net


Я создаю отправителя электронной почты с вложением в моей программе с помощью vb.net. Значения SMPT Server PORT, SSL, HOST и IsBodyHtml в comboboxes|textboxes не могут быть прочитаны во время процесса отправки. Я все еще новичок в этом языке, может ли кто-нибудь помочь мне с моими кодами.?! Вот мой снимок экрана программы https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-prn2/1450048_755648697783890_582817513_n.jpg[^] .

Imports System.Net.Mail

Public Class sendmail

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

        Try


            Dim Smtp_Server As New SmtpClient
            Dim e_mail As New MailMessage()
            Dim attachment As System.Net.Mail.Attachment

            Smtp_Server.UseDefaultCredentials = False
            Smtp_Server.Credentials = New Net.NetworkCredential((txtuser.Text), (txtpass.Text))


            'sending failure
            Smtp_Server.Port = txtserport.Text 'cannot be read
            Smtp_Server.EnableSsl = cboserenssl.Text 'cannot be read
            Smtp_Server.Host = cboserhost.Text 'cannot be read
           
            e_mail = New MailMessage()
            e_mail.From = New MailAddress(txtfrom.Text)
            e_mail.To.Add(txtto.Text)
            e_mail.Subject = txtsubject.Text
           e_mail.IsBodyHtml = cbohtmlbody.Text 'cannot be read
            e_mail.IsBodyHtml = cbohtmlbody.Text
            e_mail.Body = txtbody.Text


            'this line here excute correctly but if a user didd'nt attach  a file, sending fails..
            'i want to send even w/o an attach file..
            attachment = New System.Net.Mail.Attachment(txtattach.Text) 'file path
            e_mail.Attachments.Add(attachment) 'attachment

           

            Smtp_Server.Send(e_mail)
            txtmailstat.Text = "Successfully send" ' if it fails to send, how to?



        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub

bbirajdar

Поскольку вы не получили никакого решения по вашему вопросу в течение 22 часов, я предлагаю вам внести эти изменения в вопрос-

1.
2. Вставьте точное сообщение об ошибке. "не могу выполнить должным образом" не имеет для нас никакого смысла. Можете ли вы направить человека, который просто говорит, что его код "не может работать должным образом" ??????

akosisugar

sori.. the error is.> SMPT Server PORT, SSL, HOST и IsBodyHtml значения в comboboxes|textboxes не могут быть прочитаны во время процесса отправки.

1 Ответов

Рейтинг:
7

bbirajdar

Попробуйте это исправить-

 attachment = New System.Net.Mail.Attachment(txtattach.Text) 'file path
if(attachment <> null)
            e_mail.Attachments.Add(attachment) 'attachment


Редактировать-

Вы присваиваете текстовое значение свойства boolean. Поэтому сначала преобразуйте текст в Boolen

электронная почта.IsBodyHtml = cbohtmlbody.Текст "не может быть прочитан

должно быть

электронная почта.IsBodyHtml = Конвертировать.ToBoolean(cbohtmlbody.Text) 'не может быть прочитан

То же самое касается и других ошибок..

Аналогично
SMTP-сервер.Хост = cboserhost.Текст "не может быть прочитан

Должно быть

SMTP-сервер.Хост = cboserhost.Элемент.Текст "не может быть прочитан


И не прыгайте в программирование, не изучив основы


akosisugar

(вложение <> null)

'null' не объявляется. Константа 'Null' больше не поддерживается; используйте 'System.Вместо этого дбнулл".

bbirajdar

Эта ошибка не требует объяснений.