Enviar Email para todos meus Clientes
Olá a Wesley ou Rodrigo, necessito de ajudar para envio de email para todos os meus clientes cadastrados. Utilizo RAD Studio 2007 e banco MS-SQLServer 2005.
Vi que agora utilizamos System.Net.Mail.SmtpClient e System.Net.MailMessage, encontrei alguns exemplo para envio simples, mas gostaria de ter multiplos destinátios(recepient) ou com cópia oculta para vários destinatários que estão na minha tabela, teria como me dar uma luz sobre isso.
Paulo Freire
Curtidas 0
Respostas
Rodrigo Mourão
09/09/2009
Olá Paulo,
Bem isso não é nunhum bicho de sete cabeças é até muito simples de desenvolver. O problemas e que vamos esbarrar em limitações do servidores STMP, como por exemplo limite máximo de destinatários por mensgem. Alguns so pertmitem enviar para 30 ou 40 pessoas ao memso tempo.
Outros bloqueiam quando vc manda muitos email um atras do outro. Enfim mas fora isso e tranquilo. Vou montar algo e te envio.
Abs!!!
Bem isso não é nunhum bicho de sete cabeças é até muito simples de desenvolver. O problemas e que vamos esbarrar em limitações do servidores STMP, como por exemplo limite máximo de destinatários por mensgem. Alguns so pertmitem enviar para 30 ou 40 pessoas ao memso tempo.
Outros bloqueiam quando vc manda muitos email um atras do outro. Enfim mas fora isso e tranquilo. Vou montar algo e te envio.
Abs!!!
GOSTEI 0
Rodrigo Mourão
09/09/2009
Olá Amigo, desculpe a demora.
Segue sugestão de código:
var
Msg: MailMessage;
Smtp: SmtpClient;
Con: SqlConnection;
Command: SqlCommand;
Read: SqlDataReader;
begin
Con := SqlConnection.Create('Data Source=localhost;Initial Catalog=DBWork;User Id=SA;Password=;');
Command := SqlCommand.Create('Select Email From contato',Con);
Read := Command.ExecuteReader;
Msg := MailMessage.Create;
Msg.From := MailAddress.Create('euestou@enviando.com.br','Meu Nome');
Msg.Subject := 'Meu Assunto';
while Read.Read do
begin
Msg.Bcc.Add(Read.GetString(0));
end;
Msg.Priority := MailPriority.High;
Msg.Body := 'Meu conteudo aqui !!!!!!!!!!';
Smtp := SmtpClient.Create('smtp.provedor.com.br',25);
Smtp.Credentials := NetWorkCredential.Create('usuario','senha');
Smtp.Send(Msg);
end;
Vale lembrar que os dados para acesso são ficticios, troque pelos seus. Este cósdigo e so uma sugestão. Não esqueça das limitações do servidor quanto ao envio de email em massa.
Atenção para uses nos namespaces System.Net.Mail, System.Data.SqlClient, System.Net;
Abs
Segue sugestão de código:
var
Msg: MailMessage;
Smtp: SmtpClient;
Con: SqlConnection;
Command: SqlCommand;
Read: SqlDataReader;
begin
Con := SqlConnection.Create('Data Source=localhost;Initial Catalog=DBWork;User Id=SA;Password=;');
Command := SqlCommand.Create('Select Email From contato',Con);
Read := Command.ExecuteReader;
Msg := MailMessage.Create;
Msg.From := MailAddress.Create('euestou@enviando.com.br','Meu Nome');
Msg.Subject := 'Meu Assunto';
while Read.Read do
begin
Msg.Bcc.Add(Read.GetString(0));
end;
Msg.Priority := MailPriority.High;
Msg.Body := 'Meu conteudo aqui !!!!!!!!!!';
Smtp := SmtpClient.Create('smtp.provedor.com.br',25);
Smtp.Credentials := NetWorkCredential.Create('usuario','senha');
Smtp.Send(Msg);
end;
Vale lembrar que os dados para acesso são ficticios, troque pelos seus. Este cósdigo e so uma sugestão. Não esqueça das limitações do servidor quanto ao envio de email em massa.
Atenção para uses nos namespaces System.Net.Mail, System.Data.SqlClient, System.Net;
Abs
GOSTEI 0
Paulo Freire
09/09/2009
Como vc mesmo diz, "Simples assim" valeu Rodrigo, pode fechar.
GOSTEI 0
Rodrigo Mourão
09/09/2009
Abs e até a próxima !!!
GOSTEI 0