
Mais Rapidez Para O Bd
#1
Posted 16/10/2004, 16:14
Projetos e muito mais....Valeu
Ricardo Zanelati
#2
Posted 16/10/2004, 16:21
Talvez a forma como vc faz o envio da newsletter deva ser reavaliado. Alguns servidores limitam o uso de um determinado recurso ou colocam timeout em determinados serviços, se vc passa muito tempo executando um determinado recurso, o próprio servidor se envarrega de "encerrar" a conexão, isto evita problemas no servidor.
Mero mortal!
#3
Posted 16/10/2004, 16:31
como que sites grandes e que nao sao servidores proprios enviam newsletter em grande quantidade sem esse problema?
valeu
#4
Posted 16/10/2004, 16:32
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!
#5
Posted 16/10/2004, 16:37
uma vez fui mandar uma newsletter e travou a xxxxxx toda.
tem alguma diferenca em news com access ou mysql? o envio fica mais eficaz de acordo com o bd?
#6
Posted 16/10/2004, 16:43
Projetos e muito mais....Valeu
Ricardo Zanelati
#7
Posted 16/10/2004, 16:52
Como comentado anteriormente, a performance deste processo depende do sistema num todo...
Não tenho nenhum newslatter pronto, mas o tivesse, faria desta forma:
- executar o select na tabela dos emails;
- enviar uma quantidade limitada, vamos supor, 10 emails;
- este item só funciona o envio de vários simultaneos se os emails não forem personalizados, por exemplo, com o nome do cliente;
- gravar em uma tabela temporária, os emails que já foram enviados, somente para certificar no caso de ocorrer algum problema;
- caso um problema venha a ocorrer, basta prosseguir somente com os usuários que ainda não estão na tabela temporária;
- termina a execução;
Isto faria com que o sistema ficasse mais lento, porém, mais confiavel.
Edição feita por: Prog, 16/10/2004, 16:56.
Mero mortal!
#8
Posted 16/10/2004, 16:53
foi como o prog falou, o probl pode nao ser do bd
vamos ver se alguem tem mais alguma informacao
#9
Posted 16/10/2004, 16:59
<!--#include file = "config.asp"--> <% 'Abre a conexao com o banco de dados Set Conex = Server.CreateObject ("ADODB.Connection") Conex.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("../database/dados.mdb") 'Pega os dados digitados no form assunto = request("assunto") mensagem = request("mensagem") 'Faz a listagem dos usuarios para pegar o nome Set listar = Server.CreateObject("ADODB.Recordset") sql = "Select * from usuarios" listar.open sql, conex, 1,1 'Faz um while while not listar.eof 'Pega o nome e o email do usuario Set nome = Server.CreateObject("ADODB.Recordset") sql = "Select * from usuarios where id="&listar("id") nome.open sql, conex, 1,1 while not nome.eof 'envia o e-mail Set objmail = Server.CreateObject("CDONTS.NewMail") objmail.from = nome_admin & "<"&email_admin&">" objmail.to = nome("email") objmail.subject = assunto objmail.body = "Olá <b>"& nome("nome") & "</b><br><br> " & mensagem objMail.Bodyformat = 0 objMail.MailFormat = 0 objmail.send 'Move para o próximo registro nome.movenext wend listar.movenext wend 'Exibe a mensagem de que os emails foram enviados com sucesso response.Write("Os e-mails foram enviados com sucesso.") %>
Preciso mudar algo
Projetos e muito mais....Valeu
Ricardo Zanelati
#10
Posted 16/10/2004, 17:08
...
'Faz a listagem dos usuarios para pegar o nome
Set listar = Server.CreateObject("ADODB.Recordset")
sql = "Select * from usuarios"
listar.open sql, conex, 1,1
'Faz um while
while not listar.eof
'Pega o nome e o email do usuario
Set nome = Server.CreateObject("ADODB.Recordset")
sql = "Select * from usuarios where id="&listar("id")
nome.open sql, conex, 1,1
while not nome.eof
'envia o e-mail
Set objmail = Server.CreateObject("CDONTS.NewMail")
objmail.from = nome_admin & "<"&email_admin&">"
objmail.to = nome("email")
objmail.subject = assunto
objmail.body = "Olá <b>"& nome("nome") & "</b><br><br> " & mensagem
objMail.Bodyformat = 0
objMail.MailFormat = 0
objmail.send
'Move para o próximo registro
nome.movenext
wend
listar.movenext
wend
...
somente este código resolve
... Set nome = Server.CreateObject("ADODB.Recordset") sql = "Select * from usuarios" nome.open sql, conex, 1,1 [COLOR=red]while[/COLOR] not nome.eof 'envia o e-mail Set objmail = Server.CreateObject("CDONTS.NewMail") objmail.from = nome_admin & "<"&email_admin&">" objmail.to = nome("email") objmail.subject = assunto objmail.body = "Olá <b>"& nome("nome") & "</b><br><br> " & mensagem objMail.Bodyformat = 0 objMail.MailFormat = 0 objmail.send 'Move para o próximo registro nome.movenext wend ...
ps.: este é somente 1 dos problemas, mas este era um problema realmente muito importante, os outros problemas são apenas na forma de fazer a coisa acontecer, isto vai de programador p/ programador.
Mero mortal!
#11
Posted 16/10/2004, 17:13
Projetos e muito mais....Valeu
Ricardo Zanelati
#12
Posted 16/10/2004, 17:20
<!--#include file = "config.asp"--> <% 'Abre a conexao com o banco de dados Set Conex = Server.CreateObject ("ADODB.Connection") Conex.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("../database/dados.mdb") 'Pega os dados digitados no form assunto = request("assunto") mensagem = request("mensagem") 'Pega o nome e o email do usuario Set nome = Server.CreateObject("ADODB.Recordset") sql = "Select * from usuarios" nome.open sql, conex, 1,1 Set objmail = Server.CreateObject("CDONTS.NewMail") while not nome.eof 'envia o e-mail objmail.from = nome_admin & "<"&email_admin&">" objmail.to = nome("email") objmail.subject = assunto objmail.body = "Olá <b>"& nome("nome") & "</b><br><br> " & mensagem objMail.Bodyformat = 0 objMail.MailFormat = 0 objmail.send 'Move para o próximo registro nome.movenext wend Set objmail = null 'Exibe a mensagem de que os emails foram enviados com sucesso response.Write("Os e-mails foram enviados com sucesso.") %>
ps.: alterei a posição da linha Set objmail = Server.CreateObject("CDONTS.NewMail") e inclui a linha Set objmail = null somente para facilitar a vida do sistema operacional.
Mero mortal!
#13
Posted 16/10/2004, 17:34
error '80040108'
/email/admin/enviar_email.asp, line 18
Projetos e muito mais....Valeu
Ricardo Zanelati
#14
Posted 16/10/2004, 17:47
Mero mortal!
#15
Posted 16/10/2004, 18:55
Projetos e muito mais....Valeu
Ricardo Zanelati
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)