首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用VB短信短信

用VB短信短信
EN

Stack Overflow用户
提问于 2013-12-03 23:30:17
回答 1查看 400关注 0票数 0

程序使用G邮件帐户从您的计算机发送短信.这段代码工作正常,但它需要一些时间,目前它正在发送一个文本到4个不同的电子邮件地址,只有一个工作。所以和想法或帮助将是很好的。

帮助编写一个循环或类似的东西来简化我的代码?

代码语言:javascript
复制
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Try

        Dim Smtp_Server As New SmtpClient
        Dim e_mail As New MailMessage()
        Dim self As New MailAddress("blank@gmail.com")
        Dim Sprint As String
        Dim Verizon As String
        Dim TMobile As String
        Dim ATT As String

        Smtp_Server.UseDefaultCredentials = False
        Smtp_Server.Credentials = New Net.NetworkCredential("blank@gmail.com", "password")
        Smtp_Server.Port = 587
        Smtp_Server.EnableSsl = True
        Smtp_Server.Host = "smtp.gmail.com"

        Sprint = "@pm.sprint.com"
        Verizon = "@vtext.com"
        TMobile = "@tmomail.net"
        ATT = "@txt.att.net"


        If txtTo.Text.Length > 1 Then
            e_mail = New MailMessage()
            e_mail.From = self
            e_mail.To.Add(txtTo.Text + Sprint) 'Spint
            e_mail.Subject = txtSubject.Text
            e_mail.IsBodyHtml = False
            e_mail.Body = txtMessage.Text
            Smtp_Server.Send(e_mail)

            e_mail = New MailMessage()
            e_mail.From = self
            e_mail.To.Add(txtTo.Text + ATT) ' AT&T 
            e_mail.Subject = txtSubject.Text
            e_mail.IsBodyHtml = False
            e_mail.Body = txtMessage.Text
            Smtp_Server.Send(e_mail)

            e_mail = New MailMessage()
            e_mail.From = self
            e_mail.To.Add(txtTo.Text + Verizon) ' Verizon
            e_mail.Subject = txtSubject.Text
            e_mail.IsBodyHtml = False
            e_mail.Body = txtMessage.Text
            Smtp_Server.Send(e_mail)

            e_mail = New MailMessage()
            e_mail.From = self
            e_mail.To.Add(txtTo.Text + TMobile) ' T-mobial
            e_mail.Subject = txtSubject.Text
            e_mail.IsBodyHtml = False
            e_mail.Body = txtMessage.Text
            Smtp_Server.Send(e_mail)
        End If
        MsgBox("Mail Sent")

    Catch error_t As Exception
        MsgBox(error_t.ToString)
    End Try
End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-04 00:22:33

这无助于加速你的发送..。但它确实减少了你所要求的循环代码行.

代码语言:javascript
复制
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Try

        Dim Smtp_Server As New SmtpClient
        Dim e_mail As New MailMessage()
        Dim self As New MailAddress("blank@gmail.com")
        Dim strCarriers as New List(of String)

        Smtp_Server.UseDefaultCredentials = False
        Smtp_Server.Credentials = New Net.NetworkCredential("blank@gmail.com", "password")
        Smtp_Server.Port = 587
        Smtp_Server.EnableSsl = True
        Smtp_Server.Host = "smtp.gmail.com"

        strCarriers.Add("@pm.sprint.com")
        strCarriers.Add("@vtext.com")
        strCarriers.Add("@tmomail.net")
        strCarriers.Add("@txt.att.net")

        If txtTo.Text.Length > 1 Then

            For Each Carrier As String In strCarriers

                e_mail = New MailMessage()
                e_mail.From = self
                e_mail.To.Add(txtTo.Text + Carrier)
                e_mail.Subject = txtSubject.Text
                e_mail.IsBodyHtml = False
                e_mail.Body = txtMessage.Text
                Smtp_Server.Send(e_mail)

            Next

        End If

        MsgBox("Mail Sent")

    Catch error_t As Exception
        MsgBox(error_t.ToString)
    End Try
End Sub

我可以建议使用线程或异步电话来同时发送多封电子邮件吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20363864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档