Problema con envios de correos repetidos
Publicado por juan carlos (18 intervenciones) el 25/04/2018 06:44:52
Hola chicos, tiempo sin pasar por aqui (y sin programar tabien), no soy programador de profesion, solo aficionado y me divierto mucho codificando y me desestreso tambien, pero ultimamente en la oficina me han pedido que diseñe un programa que le envie correos a una base de datos pequeña, buscando por aqui y por alla he podido reciclar algunos codigos que he conseguido por todos lados, ya que no me he podido meter con el tema de bases de datos a profundidad y tampoco soy programador de oficio, es algo que estoy asumiendo como un favor para un amigo, bien para no agobiar tanto con la charla voy al grano: el codigo a continuacion hace perfectamente lo que necesito, que es enviar el mismo correo a varias personas casi al mismo tiempo, por ese lado no tengo ningun problema, pero al revisar las bandejas de entradas de los correos que reciben los mails, me he dado cuenta de que en el correo receptor en la parte que dice "para:" aparecen los correos a quien se les evio el email (en la parte del CCO creo que asi se le llama) y no quiero que eso suceda, tambien me di cuenta de que al primer registro de la base de datos el mismo correo se envia 10 veces (el numero de registros que tengo en la bases de datos es 10 por el momento) no quiero imaginar si llego a tener 60 o mas registros, hasta aqui es todo, pueden sugerir todo lo que sea necesario a fin de depurar este codigo porque se que hay algunos comando o parametros que estan de mas, les estare inmensamente agradecido.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Imports System.Data.SQLite
Imports System.Net.Mail
Public Class Form1
Dim cadena As String = "la cadena de conexion de mi base de datos"
Dim conn As New SQLiteConnection
Dim cmd As New SQLiteCommand
Dim sql As String
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
conn = New SQLiteConnection(cadena)
conn.Open()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim mail As New MailMessage
Dim MiDataSet As New DataSet
Dim comando As New SQLiteDataAdapter("SELECT correo FROM correos", conn)
Dim direccionaenviar As String
Try
comando.Fill(MiDataSet)
comando = Nothing
Dim Row
For Each Row In MiDataSet.Tables(0).Rows
direccionaenviar = Row("correo").ToString
mail.From = New MailAddress("elcorreodequienenvia", "nosequeponeraquiypusecualquiercosa")
mail.To.Add(direccionaenviar)
mail.Subject = (TextBox2.Text) 'aqui pongo el asunto
mail.Body = (RichTextBox1.Text) 'aqui pongo el cuerpo del mensaje
Dim servidor As New SmtpClient("smtp.live.com") 'el correo de quien envia es hotmail
servidor.Port = 587 'este puerto me funciona a la perfeccion
servidor.EnableSsl = True
servidor.Credentials = New System.Net.NetworkCredential("correodelemisor", "clavedelcorreoemisor")
servidor.Send(mail)
MiDataSet = Nothing
conn.Close()
Next
MsgBox("mensajes enviados con exito felicidades")
Catch ex As Exception
MsgBox("error en " + ex.ToString)
End Try
End Sub
End Class
Valora esta pregunta


0