0

私はvs2010でc#を使用しており、SMTP経由でメールを送信するクラスとメソッドを作成しました。同じメールを多くのユーザーに送信する必要があります。DBですべてのメールを選択し、書き込みを行わないクエリを使用してリストを作成しました。私のコードではそれらを使用していますが、「アクセス許可で許可されていないソケットにアクセスしようとしています」というエラーメッセージが表示され、多くのユーザーに電子メールを送信できません。コードは次のとおりです。

「送信ボタン」で

private void enviar()
{
    System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
    Enviar_Mail envi_mail = new Enviar_Mail();
    List<string> en_mail = envi_mail.SqlSelectMails();
    foreach (string mail_bci in en_mail)
    {
        msg.To.Add(mail_bci);
    }

    msg.From = new MailAddress("soporte.web@ipsos.com", "AaBb1234",
    System.Text.Encoding.UTF8);

    msg.Subject = "prueba mails aviso y acusete bci";
    msg.SubjectEncoding = System.Text.Encoding.UTF8;
    msg.Body = "saludos";
    msg.BodyEncoding = System.Text.Encoding.Unicode;
    msg.IsBodyHtml = true;
    SmtpClient client = new SmtpClient();
    client.Credentials = new System.Net.NetworkCredential("soporte.web", "AaBb1234");
    client.Port = 25;
    client.Host = "smtp0.chile.latam.ipsos";
    client.EnableSsl = false;
    try
    {
        client.Send(msg);
    }
    catch (System.Net.Mail.SmtpException ex)
    {
        Console.WriteLine(ex.Message);
        Console.ReadLine();
    }
}

私のクラスで:

public List<string> SqlSelectMails()
{
    List<string> dir_mails = new List<string>();
    string stSql = "select mail_usuario from mail_usuario";
    Bd mibd = new Bd();
    SqlDataReader sdr = mibd.sqlExecute(stSql);
    while (sdr.Read())
    {
        dir_mails.Add(sdr["mail_usuario"].ToString());
    }
    return dir_mails;
}

前もって感謝します。

4

0 に答える 0