Ir para conteúdo
Fórum Script Brasil
  • 0

Envio E-mail Asp


giovanna

Pergunta

16 respostass a esta questão

Posts Recomendados

  • 0

Exemplo de uso do ASPMAIL

Dim objMail
Set objMail = Server.CreateObject("SMTPsvg.Mailer")

objMail.RemoteHost = "smtp.dominio.com.br"

objMail.FromName = "Nome do Remetente"
objMail.FromAddress = "remetente@dominio.com.br"

objMail.AddRecipient "Nome do Destinatário", "destinatario@dominio.com.br"

objMail.Subject = "Assunto da mensagem"
objMail.BodyText = "Texto da Mensagem." & VbCrLf & "Mensagem de Teste."

If objMail.SendMail Then
    Response.Write "E-mail enviado..."
Else
    Response.Write "Erro no envio de e-mail: " & objMail.Response
End If

Set objMail = Nothing

Link para o comentário
Compartilhar em outros sites

  • 0

Se achar conveniente também, para escrever a mensagem do "body", eu faço assim:

objMail.Subject = "Assunto da mensagem"
objMail.BodyText = "Texto da Mensagem." _
& "Mensagem de Teste." _
& "Terceira frase<br>" _
& "Agora chega"

Só pra ficar mais organizado e não tudo numa única linha.

SHOW?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Barbara -

Olá amigos,

Aproveitando a postagem da colega aí de cima, gostaria que vocês me ajudassem com um script, se for possível.

Tenho um sistema administrativo, onde envio emails aos usuários que se cadastram no site.

Só que são muitos registros, e o suporte do provedor onde o site está hospedado, disse que tenho que ter algo mais "robusto" pois o mesmo não está suportando a quantidade de registros. Ou seja, só está enviando a um determinado número de emails. E são quase 1.000 usuários cadastrados no banco. Eles utilizam o objeto CDO.

Caso seja necessário, posto o código aqui para vocês darem uma olhada ok?

Desde já, agradeço!

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal,

Meu código atual é esse:

<!--#include file="modelo-inicio.asp"-->

<%

call validaRequest(request.ServerVariables("HTTP_REFERER"))

Dim objMail

Set objMail = Server.CreateObject("CDONTS.NewMail")

email_from = request("email_from")

destinatario = request("destinatario")

nomeSite = request("nomeSite")

des_sec_pg = request("des_sec")

cod_sec_pg = request("cod_sec")

cod_tem_pg = request("cod_tem")

'busca o cabeçalho e rodapé

sql = "select des_cab, des_rod from tb_cab_rod where cod_tem_idi = "&cod_tem_pg

set reg_cab_rod = DB.execute(sql)

if not reg_cab_rod.eof then

des_cab = reg_cab_rod("des_cab")

des_rod = reg_cab_rod("des_rod")

set reg_cab_rod = nothing

else

des_cab = ""

des_rod = ""

end if

HTML = "<table bordercolorlight=cdcdcd bordercolordark=646464 bgcolor=000000 cellspacing=5 cellpadding=5 border=1 align='center'>"&_

"<tr>"&_

"<td bgcolor=ffffff align='center'>"&_

"<table width=100% height=100% cellspacing=5 cellpadding=5 border=0>"&_

"<tr>"&_

"<td>"& des_cab &"</td>"&_

"</tr>"&_

"<tr>"&_

"<td height='100%' valign='top'>"&_

"<br><font face=verdana size=2>Nome:<b>" & request.querystring("nome") & "</b><BR>"&_

"Telefone: <B>(" & request.querystring("prefixo") & ") " & request.querystring("telefone") & "</b><BR>"&_

"E-mail: <B>" & request.querystring("email_from") & "</b><BR>"&_

"Mensagem: <br><b>" & request.querystring("conteudo") & "</b>"&_

"</td>"&_

"</tr>"&_

"<tr>"&_

"<td>"& des_rod &"</td>"&_

"</tr>"&_

"</table>"&_

"</td>"&_

"</tr>"&_

"</table>"

objMail.From = email_from

objMail.Subject = "Fale Conosco - "& nomeSite

objMail.BodyFormat = 0

objMail.MailFormat = 0

objMail.to = destinatario

objMail.Body = HTML

objMail.Send

set objMail = nothing

%>

<script language=javascript>

alert("Seu Email foi enviado");

self.location.href = "faleconosco.asp?cod_tem=<%= cod_tem_pg %>&cod_sec=<%= cod_sec_pg %>&des_sec=<%= des_sec_pg %>";

</script>

Link para o comentário
Compartilhar em outros sites

  • 0

Caso seja necessário, posto o código aqui para vocês darem uma olhada ok?

Desde já, agradeço!

a acho que seu servidor que deve ser ruim. ou o seu banco é muito pesado, posta o codigo mas de preferencia em otro tópico.

Pessoal,

Meu código atual é esse:

é? e o que tem esse codigo, está com algum problema??

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, segue o código, eu coloquei de acordo com os dados passado, mas pode ter erros, estou no trabalho, não tenho como testar, a unica coisa que precisa é acerta a ligação com o banco de dados.

com este código abaixo será enviado 20 e-mails de cadas vez, caso queira + é só alterar a quantidade na variável

const registros = 20.

Qualquer coisa posta ai.

<!--#include file="modelo-inicio.asp"-->

<%

'=== Cria os objetos e abre a conexão com o banco de dados
Set ObjConn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
ObjConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("banco/bd.mdb")

email_from = request("email_from")
destinatario = request("destinatario")
nomeSite = request("nomeSite")
des_sec_pg = request("des_sec")
cod_sec_pg = request("cod_sec")
cod_tem_pg = request("cod_tem")

'=== Inicia a seleção dos dados na tabela maladireta
SQL = "select des_cab, des_rod from tb_cab_rod where cod_tem_idi = "&cod_tem_pg"
RS.Open SQL, ObjConn, 3, 3
'"=== Após selecionado todos os registros da tabela, abre a conexão usando objeto RecordSet

'=== Condição para verificar se existe algum valor na variável página na querystring
If Request.QueryString("pagina") = "" Then
pagina = 1
Else
pagina = Request.QueryString("pagina")
End if

'Variável constante para controle de quantidade de registros exibidos (ou lidos) por página
const registros = 20

'Aqui o valor atribuido à variável registro é indicado à propriedade PageSize (quantidade por página)
RS.PageSize = registros

RS.AbsolutePage = pagina

'Abaixo será atribuida à variável totpaginas a quantidade total de páginas. Usando o exemplo acima, se a quantidade total de registros for de 60, então, 60 : 20 (total de registros por página) = 3 páginas
totpaginas = RS.PageCount

'Para a variável totregistros é atribuido o total de registros na tabela maladireta.
totregistros = RS.RecordCount

'Atribuindo o valor 1 ao contador i 
i = 1

'Abaixo se inicia o loop para o envio de e-mails em questão.

'=== Aqui inicia o Loop para o envio dos e-mails
While NOT RS.EOF AND NOT i > registros

Set objMail = Server.CreateObject("CDONTS.NewMail")
Server.ScriptTimeout = 50000

HTML = "<table bordercolorlight=cdcdcd bordercolordark=646464 bgcolor=000000 cellspacing=5 cellpadding=5 border=1 align='center'>"&_
"<tr>"&_
"<td bgcolor=ffffff align='center'>"&_
"<table width=100% height=100% cellspacing=5 cellpadding=5 border=0>"&_ 
"<tr>"&_
"<td>"& des_cab &"</td>"&_
"</tr>"&_
"<tr>"&_ 
"<td height='100%' valign='top'>"&_ 
"<br><font face=verdana size=2>Nome:<b>" & request.querystring("nome") & "</b><BR>"&_
"Telefone: <B>(" & request.querystring("prefixo") & ") " & request.querystring("telefone") & "</b><BR>"&_
"E-mail: <B>" & request.querystring("email_from") & "</b><BR>"&_
"Mensagem: <br><b>" & request.querystring("conteudo") & "</b>"&_
"</td>"&_ 
"</tr>"&_ 
"<tr>"&_
"<td>"& des_rod &"</td>"&_
"</tr>"&_
"</table>"&_
"</td>"&_
"</tr>"&_
"</table>"

objMail.From = email_from
objMail.Subject = "Fale Conosco - "& nomeSite
objMail.BodyFormat = 0 
objMail.MailFormat = 0 
objMail.to = destinatario
objMail.Body = HTML
x = objMail.Send

If x = true then
Session("good") = Session("good") + 1
Else
Session("bad") = Session("bad") + 1
motivo = Mailer.Response
End If

i = i + 1
RS.MoveNext
Wend
'=== Fim do loop

'=== Condição para verificar se a variavel pagina é maior que o total das paginas
If NOT (pagina > totpaginas) Then

Response.AddHeader "Refresh", "2;URL=enviar.asp?pagina="&pagina+1
Response.Write("<strong><font face=verdana color=red>20 e-mails enviados.<BR>")
Response.Write("Aguarde, preparando script para enviar mais 20 e-mails...</font></strong>")

Else

Response.Write("<strong><font face=verdana color=red>Todos os e-mails enviados.</font></strong><BR><BR>") 
Response.Write("<font face=verdana color=blue><b>Estatísticas</b></font><BR>=============================<BR>")
Response.Write("<font face=verdana color=black>E-mails enviados com sucesso: <b>"&Session("good")&"</b><BR>")
Response.Write("E-mails enviados sem sucesso: <b>"&Session("bad")&"</b><BR>")
Response.Write("Erro: <b>"&motivo&"</b><BR>--<BR>")
Response.Write("Total de e-mails no banco de dados: <b>"&totregistros&"</b></font>")
Session("good") = 0
Session("bad") = 0

set objMail = nothing
Set RS = Nothing
Set ObjConn = Nothing

End If
%>

Link para o comentário
Compartilhar em outros sites

  • 0

Giovanna, o que você quer é simples. tenta assim:

Depois de fechar de enviar os dados e fechar o objeto.

set objMail = nothing

você abre o cdonts de novo e manda uma mensagem de agradecimento,

mas o nome o nome. por exemplo:

você usou:

set objMail

no agradecimento você usa:

set objMail1

testa ai.

Link para o comentário
Compartilhar em outros sites

  • 0

posta aqui..

assim a gente também sabe se funcionou..

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...