Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaeldupalio

E-mail AspMail + mesmo email para varios usuarios. + agendar envio

Recommended Posts

Galera pra variar mais uma duvida, estou implementando um formulário de envio de email. tenho algumas duvidas
o codigo abaixo funcionaria corretamente?

var_nome = myRst.fields("nome")
var_recebedor = request.form("recebedor")
var_emailreceb = request.form("emailreceb")
var_assunto = request.form("assunto")
var_corpo = request.form("corpo")
'codigo conexao/smtp email
set mail = server.createobject("smtpsvg.mailer")
mail.remotehost = "smtp-web.kinghost.net"
'recolher dados do usuario
mail.fromname = "Var_nome"
mail.fromaddress = "var_nome@rafaeldupalio.com.br" 'Este email deve ser válido e existir como conta de email para o domínio
mail.ReplyTo = email
mail.addrecipient "var_recebedor","var_emailreceb"
mail.subject = "var_assunto"
mail.bodytext = "Var_corpo"
' codigo que envia o Email.
mail.sendmail
'ação apos envio do Email
Response.Write("<script language='JavaScript'>alert('Email enviado com Sucesso!');location.href='Email.HTML';</script>")
segunda pergunta como faço para enviar o mesmo e-mail para mais de um usuário?
terceira e ultima pergunta como faço uma regra para enviar toda sexta feira as 9hs o mesmo e-mail e para vários usuários?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A principio o código não tem nada errado não .. não esta enviando?

Para vários coloque os emails entre ponto e virgula ";"

Para agendar tem que ver na king host se tem agendamento de execução de pagina no painel assim vc vincula sua pagina asp que envia lá...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esses usuários esta cadastrado no banco de dados?

 

Att;

Gilberto esse nome que recupero do banco é o mesmo que criei no kinghost como email Ex:. rafaeldupalio tem esse no banco e no email tem rafaeldupalio@rafaeldupalio.com.br

 

dei um response.write em cada um desses:

var_nome = myRst.fields("nome")
var_recebedor = request.form("recebedor")
var_emailreceb = request.form("emailreceb")
var_assunto = request.form("assunto")
var_corpo = request.form("corpo")
e apareceu td certinho, tem como eu criar um response.write com tds de uma vez? pow eu crio um por um upo e testo um por um é tenso.
exe:. response.write(var_nome),(var_recebedor), etc....
tem como fazer algo assim? e a outra pergunta como consigo ver qual informação esta saindo deste campo

mail.fromaddress = "var_nome@rafaeldupalio.com.br"

tentei o response.write(mail.fromaddress) e nao deu certo.

A principio o código não tem nada errado não .. não esta enviando?

Para vários coloque os emails entre ponto e virgula ";"

Para agendar tem que ver na king host se tem agendamento de execução de pagina no painel assim você vincula sua pagina asp que envia lá...

Gustavo blz? entao o codigo corre ate o final e aparece a msg de enviado com sucesso conforme o alerta no final da pagina asp mas nao ta chegando, sobre o ponto e virgula o usuario coloca no formulario? ou tem como eu aplicar ja no codigo asp? e a ultima vou ver com o suporte da kinghost sobre o agendamento de execução de pagina assim que tenho que perguntar né?

Compartilhar este post


Link para o post
Compartilhar em outros sites

dependendo do host eles tem um número limite de envio, para não entender que é spam, então nestes casos você pode fazer um envio paginado de emails, para não dar overload no SMTP. O ponto e vírgula vc tem que colocar no código, ou inserir através de concatenação dos emails que serão enviados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo de como usar 2 componentes de forma independente, basta você substituir pelo seu código!

 

<%

'Verirfica entrada de fora
if Request.ServerVariables("HTTP_REFERER") <> "http://www.site.com.br/tela_do_formulario.asp" then
msg = "Acesso não permitido"
response.redirect "/tela de retorno.asp?erromsg=" & msg
end if
' Fim de Verirfica entrada de fora

' Como não acessa banco de dados, não precisa tratar apóstrofes
nome = request.form("nome")
email_destinatario = trim(request.form("email"))
sugestao = request.form("sugestao")

'Selecione qual componente usar
componente = "aspmail"
'componente = "cdont"
'Fim de Selecione qual componente usar

texto = "Mensagem de: " & nome & "<br>" & "E-mail: " & email_destinatario & "<br>" & "Sugestão: " & sugestao
'Abaixo uma outra forma de mandar pulando linha
'texto = "Mensagem de: " & nome & chr(10) & "E-mail: " & email & chr(10) & "Sugestão: " & sugestao

if componente = "cdont" then
'***************CDONT******************
'Rotina de envio de e-mail
dim eObjMail
Set eObjMail = Server.CreateObject("CDONTS.NewMail")

'************************************************
email_remetente = "nome@endereco.com.br"
assunto = "Sugestão pelo Formulário"

eObjMail.to = email_remetente
eObjMail.from = nome & "<" & email_destinatario & ">"
eObjMail.subject = assunto
eObjMail.Importance = 1
eObjMail.BodyFormat = 0
eObjMail.MailFormat = 0
eObjMail.body = texto
eObjMail.send
Set eObjMail = nothing
'Fim da rotina de envio de e-mail
'**********FIM CDONT************************
end if


if componente = "aspmail" then
'***********ASPMAIL***************************
dim mMail
set mMail = server.createobject("SMTPsvg.Mailer")

mMail.fromname = " "& nome &" "
mMail.fromAddress = email_destinatario
mMail.remotehost = "smtp.site.com.br"
mMail.addrecipient "Nome do Remetente","email_remetente@site.com.br"
mMail.subject = "Sugestão pelo Formulário"
mMail.bodytext = texto
mMail.ContentType = "text/html"

mMail.sendmail

set mMail = nothing
'***************FIM DO ASPMAIL***********************
end if


mensagem = "Mensagem foi enviada com sucesso"
response.redirect "/pagina_de_sucesso.asp?msg="&mensagem
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

dependendo do host eles tem um número limite de envio, para não entender que é spam, então nestes casos você pode fazer um envio paginado de emails, para não dar overload no SMTP. O ponto e vírgula você tem que colocar no código, ou inserir através de concatenação dos emails que serão enviados

xanburzum o envio é para 4 pessoas nao travaria, o problema é que nao to conseguindo nem enviar pelo form da pagina html

Exemplo de como usar 2 componentes de forma independente, basta você substituir pelo seu código!

 

<%

 

'Verirfica entrada de fora

if Request.ServerVariables("HTTP_REFERER") <> "http://www.site.com.br/tela_do_formulario.asp" then

msg = "Acesso não permitido"

response.redirect "/tela de retorno.asp?erromsg=" & msg

end if

' Fim de Verirfica entrada de fora

 

' Como não acessa banco de dados, não precisa tratar apóstrofes

nome = request.form("nome")

email_destinatario = trim(request.form("email"))

sugestao = request.form("sugestao")

 

'Selecione qual componente usar

componente = "aspmail"

'componente = "cdont"

'Fim de Selecione qual componente usar

 

texto = "Mensagem de: " & nome & "<br>" & "E-mail: " & email_destinatario & "<br>" & "Sugestão: " & sugestao

'Abaixo uma outra forma de mandar pulando linha

'texto = "Mensagem de: " & nome & chr(10) & "E-mail: " & email & chr(10) & "Sugestão: " & sugestao

 

if componente = "cdont" then

'***************CDONT******************

'Rotina de envio de e-mail

dim eObjMail

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

 

'************************************************

email_remetente = "nome@endereco.com.br"

assunto = "Sugestão pelo Formulário"

 

eObjMail.to = email_remetente

eObjMail.from = nome & "<" & email_destinatario & ">"

eObjMail.subject = assunto

eObjMail.Importance = 1

eObjMail.BodyFormat = 0

eObjMail.MailFormat = 0

eObjMail.body = texto

eObjMail.send

Set eObjMail = nothing

'Fim da rotina de envio de e-mail

'**********FIM CDONT************************

end if

 

 

if componente = "aspmail" then

'***********ASPMAIL***************************

dim mMail

set mMail = server.createobject("SMTPsvg.Mailer")

 

mMail.fromname = " "& nome &" "

mMail.fromAddress = email_destinatario

mMail.remotehost = "smtp.site.com.br"

mMail.addrecipient "Nome do Remetente","email_remetente@site.com.br"

mMail.subject = "Sugestão pelo Formulário"

mMail.bodytext = texto

mMail.ContentType = "text/html"

 

mMail.sendmail

 

set mMail = nothing

'***************FIM DO ASPMAIL***********************

end if

 

 

mensagem = "Mensagem foi enviada com sucesso"

response.redirect "/pagina_de_sucesso.asp?msg="&mensagem

%>

 

Fabio entao estou usando o aspmail e pego dados do banco sim, pego o nome de quem esta logado e automaticamente "deveria" setar nome do e-mail e o e-mail do mesmo. mas nao ta enviando so se editar manualmente e como nao tem como ver como ele ta mandando os dados pelo aspmail fica mais dificil.

Acredito que a logica esta certa mas derrepente a maneira como esta sendo passado para o aspmail esta errado.

 

Olhando seu codigo vi que vc usou mMail.fromname = " "& nome &" " derrepente é isso que nao estou fazendo nao estou usando '"&var_nome&"' igual a vc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi.

Se vc faz o login, vc pode passar nome e e-mail pela session.

 

mMail.addrecipient "session("nome")","session("email")"

 

E para enviar e-mails para mais de uma pessoa, eu preciso saber como estes e-mails são informados pelo usuário? Ele digita tudo num campo? Exemplo: email_1@email_1,com.br; email_2@email_12com.br; email_3@email_3,com.br; email_4@email_4,com.br ? De qual forma que o usuário logado seleciona os e-mails a serem enviados?

 

Aguardo Retorno!

Compartilhar este post


Link para o post
Compartilhar em outros sites
<%
var_recebedor = request.form("recebedor")
var_emailreceb = request.form("emailreceb")
var_assunto = request.form("assunto")
var_corpo = request.form("corpo")
set mail = server.createobject("persits.mailsender")
mail.host = "smtp-web.kinghost.net"
mail.fromname = "vds_login"
mail.from = "vds_login@rafaeldupalio.com.br" 'Este email deve ser válido e existir como conta de email para o domínio
mail.addaddress "var_emailreceb" , "var_recebedor"
mail.AddReplyTo "vds_login@rafaeldupalio.com.br"
mail.subject = "Var_assunto"
mail.body = "var_corpo"
'Enviando o email
mail.send
%>
usando o aspemail da essa msg de erro:

Persits.MailSender.4 erro '800a0006'

504 5.5.2 <var_emailreceb>: Recipient address rejected: need fully-qualified address


Oi.

Se você faz o login, você pode passar nome e e-mail pela session.

 

mMail.addrecipient "session("nome")","session("email")"

 

E para enviar e-mails para mais de uma pessoa, eu preciso saber como estes e-mails são informados pelo usuário? Ele digita tudo num campo? Exemplo: email_1@email_1,com.br; email_2@email_12com.br; email_3@email_3,com.br; email_4@email_4,com.br ? De qual forma que o usuário logado seleciona os e-mails a serem enviados?

 

Aguardo Retorno!

Fabio ele digita na mao os email dos destinatarios

Compartilhar este post


Link para o post
Compartilhar em outros sites

os emails estão no formato correto e existe este email, é válido ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

os emails estão no formato correto e existe este email, é válido ?

xanburzum entao se eu fizer o teste escrevendo a pagina asp na mao vai certinho demora um pouco mais vai coisa de uns 5 minutos, mas se eu fizer recolhendo do formulario nao vai de jeito nenhum.

os emails sao validos tanto o do meu server qnt da pessoa que esta enviando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz um tratamento neles, removendo espaços em branco e dá um response.write nas variáveis "var_emailreceb" , "var_recebedor" para ver o que esta vindo nelas

Compartilhar este post


Link para o post
Compartilhar em outros sites

então já fiz o lance do response.write aparece certinho a minha duvida tenho que coloca só a varável ou tem que colocar entre aspas? derrepente e isso sei lá. mas ta f... de fazer funcionar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi.

 

Faz teste com aspas e sem aspas, veja se algum caso da certo,

 

Usa o comando TRIM que te ensinei naquele dia para remover possíveis espaços em branco.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem um post que coloquei com várias funções para trabalhar com texto, dá uma olhada e use ela para remover os espaços em branco e caracteres indesejáveis.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.