Ir para conteúdo

POWERED BY:

Arquivado

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

Leandro D.

SMTP, IIS 7.5 e JMail

Recommended Posts

Boa noite pessoal! Na minha última dúvida estava com problemas para cadastrar usando INSERT. Bom depois de resolvido este problema, acrescentei na página que cadastra uma parte que envia um email para o usuário ativar a conta. No XP e IIS 5.1 eu usava o CDONTS, mas o usuário recebia o email como phishing (não sei dizer porque). No Win 7 e IIS 7.5 estou tentando usar o JMail da Dimac. Eu baixei e coloquei a dll na pasta system32 e registrei pelo executar, igual o que eu fiz no XP com o CDONTS.

c:\windows\system32\regsvr32.exe c:\windows\system32\jmail.dll

Depois disto acrescentei a programação da parte do email na página cad_user.asp logo abaixo do INSERT, ficou assim:

<%
Function GerarRandomize(Valores)
Dim Numeros : Numeros = "0123456789ABCDEFGHIJKL"
Randomize
For I = 1 To Valores
	Dim Num : Num = Mid(Numeros, Int(35 * Rnd) + 1, 1)
	Dim Chave : Chave = Chave + Num
Next
GerarRandomize = Chave
End Function

Dim objConn, objRS, nome_user, nome_exib, pass, depto, email, situacao, id, questao, resposta, filePath
nome_exib=request.querystring("nome_exib")
nome_user=request.querystring("nome_user")
pass=request.querystring("pass")
depto=request.querystring("depto")
email=request.querystring("email")
questao=request.querystring("questao")
resposta=request.querystring("resposta")
situacao=request.querystring("situacao")
id=(GerarRandomize(80))
filePath=Server.MapPath("../Dados/banco_dados.mdb")
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set objRS=Server.CreateObject("ADODB.Recordset")
Set objRS=objConn.Execute("SELECT * FROM usuarios WHERE nome_exib='"&nome_exib&"'")
If ObjRS.EOF Then
Cadastra=true
Else
Cadastra=false
End If
objConn.Close

If cadastra=true Then
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set objRS=objConn.Execute("INSERT INTO usuarios (nome_user, nome_exib, senha, departamento, email, aprovado, questao, resposta, id_sistema) VALUES ('"&nome_user&"','"&nome_exib&"','"&pass&"','"&depto&"','"&email&"','"&situacao&"','"&questao&"','"&resposta&"','"&id&"')")
Set JMail=Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress="localhost"
JMail.AddRecipient email
JMail.Sender="akaleejam@gmail.com"
JMail.Subject="Testando envio"
JMail.Body="Testando envio."
JMail.Execute
Set JMail=Nothing
Session("info")=request.querystring("nome_exib")
Session("cadastrou")=1
Response.redirect("../default.asp")
Else
Session("info")=request.querystring("nome_exib")
Session("cadastrou")=2
Response.redirect("../default.asp")
End If
%>

Porém quando cadastro através do formulário, dá o erro abaixo, mas o usuário é cadastrado.

jmail.SMTPMail erro '8000ffff'

 

The message was undeliverable. All servers failed to receive the message

 

/Intranet/Pages/cad_user.asp, linha 44

No gerenciador do IIS, na parte de email, as configurações estão conforme as imagens abaixo:

1.png

2.png

O que pode estar errado no processo? Pela mensagem de erro é alguma coisa com o servidor. Se alguém puder ajudar eu agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, fiz um teste com o Cdonts (mesma página que usava no XP), Cdosys e Aspmail e todos estão dando erro aparentemente no servidor. O último que testei foi o Cdosys que já tinha no Windows 7 (pasta system32). Veja como ficou a estrutura da página com Cdosys:

<%
Function GerarRandomize(Valores)
Dim Numeros : Numeros = "0123456789ABCDEFGHIJKL"
Randomize
For I = 1 To Valores
	Dim Num : Num = Mid(Numeros, Int(35 * Rnd) + 1, 1)
	Dim Chave : Chave = Chave + Num
Next
GerarRandomize = Chave
End Function

Dim objConn, objRS, nome_user, nome_exib, pass, depto, email, situacao, id, questao, resposta, filePath
nome_exib=request.querystring("nome_exib")
nome_user=request.querystring("nome_user")
pass=request.querystring("pass")
depto=request.querystring("depto")
email=request.querystring("email")
questao=request.querystring("questao")
resposta=request.querystring("resposta")
situacao=request.querystring("situacao")
id=(GerarRandomize(80))
filePath=Server.MapPath("../Dados/banco_dados.mdb")
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set objRS=Server.CreateObject("ADODB.Recordset")
Set objRS=objConn.Execute("SELECT * FROM usuarios WHERE nome_exib='"&nome_exib&"'")
If ObjRS.EOF Then
Cadastra=true
Else
Cadastra=false
End If
objConn.Close

If cadastra=true Then
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set objRS=objConn.Execute("INSERT INTO usuarios (nome_user, nome_exib, senha, departamento, email, aprovado, questao, resposta, id_sistema) VALUES ('"&nome_user&"','"&nome_exib&"','"&pass&"','"&depto&"','"&email&"','"&situacao&"','"&questao&"','"&resposta&"','"&id&"')")

' Cria a instância para configuração do SMTP
Set CDOSYSconn = Server.CreateObject("CDO.Configuration")
' Endereço do Servidor de SMTP
CDOSYSconn.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
' Porta do Servidor de SMTP
CDOSYSconn.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
' Porta do CDO
CDOSYSconn.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
' Configuração de Timeout
CDOSYSconn.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
' Atualiza as configurações
CDOSYSconn.Fields.update

' Cria uma instância do controle de Email
Set CDOSYS = Server.CreateObject("CDO.Message")
'Atualiza a configuração do CDOSYS para o envio do e-mail
Set CDOSYS.Configuration = CDOSYSconn
' E-mail do Remetente
CDOSYS.From = "leandro@clune.com.br"
' E-mail do Destinatário
CDOSYS.To = email
' Assunto do E-mail
CDOSYS.Subject = "Teste Cdosys"
' Conteúdo do E-mail
CDOSYS.HtmlBody = "Envio de e-mail simples através do CDOSYS."
' Envia o Email
CDOSYS.Send
' Tira o objeto de envio do e-mail da memória
Set CDOSYS = Nothing

' Tira o objeto de configuração da memória
Set CDOSYSconn = Nothing

Session("info")=request.querystring("nome_exib")
Session("cadastrou")=1
Response.redirect("../default.asp")
Else
Session("info")=request.querystring("nome_exib")
Session("cadastrou")=2
Response.redirect("../default.asp")
End If
%>

 

Está dando erro na linha 44, "CDOSYS.Send". Veja o que aparece:

CDO.Message.1 erro '80040213'

 

Falha na conexão do transporte com o servidor.

 

/Intranet/Pages/cad_user.asp, linha 65

 

Será que alguém pode me ajudar, acredito que não configurei direito o serviço SMTP no IIS. Lembrando que não tenho nenhum domínio SMTP, estou tentando localhost, conforme mostrado na imagem acima. Desde já agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o SMTP esta como localhost, precisa ser um servidor SMTP válido....

Compartilhar este post


Link para o post
Compartilhar em outros sites

serve para usar na maquina local, e precisa estar o SMTP configurado corretamente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

serve para usar na maquina local, e precisa estar o SMTP configurado corretamente...

xanburzum, eu preciso pra uso local mesmo. O sistema é Intranet, para uso na rede da empresa onde trabalho. Como são fários funcionários na rede, eu preciso usar envio de emails em vários pontos do sistema. Com o Cdonts eu enviava emails tanto na parte de cadastro quanto em outros pontos (como envio de pedidos, solicitação de compras, etc), isso na máquina que tinha o IIS 5.1, não havia nenhum servidor SMTP só o IIS e dentro dele tinha a parte de SMTP e nunca mexi lá, do jeito que estava funcionava. Agora estou testando este sistema no Win 7 com IIS 7.5 pois o meu PC na empresa vai ser trocado daqui um mês por um com Win 7, então estou fazendo os testes em casa e preciso deste sistema de emails. Tem como você me orientar na configuração do SMTP? Outra coisa que eu pesquisei na net e não encontrei, é um sistema de mensagens internas, estilo facebook, que grave as mensagens em um BD e na tela do usuário apareca um pop ou algo assim avisando que há novas mensagens, assim ele entra na parte de mensagens. Se você puder indicar um sistema assim eu até retiro o envio de emails do sistema. Se você puder me ajudar eu agradeço!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este link

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este link

Foi isso que eu fiz, está deste jeito mas não vai... vou eliminar o processo de email por enquanto. Você tem algum exemplo de mensagens internas com banco de dados que eu possa dar uma olhada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem um exemplo que coloquei no lab. de script, dá uma pesquisada lá, caso não encontre me mande um email

que para fins didáticos te dou um replay

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem um exemplo que coloquei no lab. de script, dá uma pesquisada lá, caso não encontre me mande um email

que para fins didáticos te dou um replay

Dei uma olhada lá e na parte de Usuários (Índice) tem um lá chamado Mensagem para Membors mas tá dando erro 404 no link, tem como você me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem um exemplo que coloquei no lab. de script, dá uma pesquisada lá, caso não encontre me mande um email

que para fins didáticos te dou um replay

Dei uma olhada lá e na parte de Usuários (Índice) tem um lá chamado Mensagem para Membors mas tá dando erro 404 no link, tem como você me ajudar?

xanburzum, estou aguardando um retorno seu referente aos exemplos de mensagens internas (intranet). Te mandei um email através do seu perfil mas até agora não recebi nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

porfavor me mande no email xanburzum@terra.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

porfavor me mande no email xanburzum@terra.com.br

xanburzum, confirme se você recebeu o meu email. Já faz uma semana que te passei e não tiver retorno.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não recebi, talvez tenha ido parar na pasta de itens excluídos ou spam, me mande novamente, pois eu tenho o code em casa,

segue meu msn tb, xanburzum@msn.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

não recebi, talvez tenha ido parar na pasta de itens excluídos ou spam, me mande novamente, pois eu tenho o code em casa,

segue meu msn tb, xanburzum@msn.com

Vou encaminhar novamente. Eu lembro que quando eu mandei, recebi um retorno automático informando que tinha recebido e estava em processamento. Vou mandar agora, dê uma olhada e depois você me fala.

Compartilhar este post


Link para o post
Compartilhar em outros sites

existe um exemplo no codigolivre, tipo um sistema de helpdesk, onde é possivel o envio de mensagens na intranet e ele tem um aviso na bandeja do windows, também pode te ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

existe um exemplo no codigolivre, tipo um sistema de helpdesk, onde é possivel o envio de mensagens na intranet e ele tem um aviso na bandeja do windows, também pode te ajudar

Irei procurar, mas mande o seu exemplo que você falou que tem para ver se serve. Meu email é akaleejam@gmail.com

 

existe um exemplo no codigolivre, tipo um sistema de helpdesk, onde é possivel o envio de mensagens na intranet e ele tem um aviso na bandeja do windows, também pode te ajudar

Irei procurar, mas mande o seu exemplo que você falou que tem para ver se serve. Meu email é akaleejam@gmail.com

xanburzum, o site do codigolivre esta dando aviso de malware, não estou conseguindo acessar, tem como resolver isto? Lá fala para continuar por minha conta em risco, mas não tem a opção de continuar :(. Agora apareceu uma tela de erro 404. Acho que este site está hackeado, existe algum outra fonte?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é tá estranho, em uma maq. acessou normal e depois saiu fora o site, em outra maq. deu aviso de ataque por script maliciosos....

Compartilhar este post


Link para o post
Compartilhar em outros sites

é tá estranho, em uma maq. acessou normal e depois saiu fora o site, em outra maq. deu aviso de ataque por script maliciosos....

É, aqui em casa ainda está dando ataque de script malicioso. Nem vou tentar acessar mais. Fico no aguardo do seu email, segue meu msn, não consegui adicionar você não, akaleejam@hotmail.com. Até mais!

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum, por favor cara, me mande o exemplo que você falou. Estou precisando testar e até agora não recebi o seu email. Outra coisa que estou pesquisando na net e não encontro nada de fácil entendimento é como consultar um banco de dados e mostrar o resultado sem dar refresh na página. Eu acho bastante coisa de Ajax com PHP, mas com ASP é difícil. Queria algo que fizesse esta consulta em um intervalo de tempo. Por favor, fico no aguardo, já adicionei seu endereço no MSN. Por favor, me dê uma ajuda, como disse, sei o básico do básico em ASP, mas gostaria de aprender mais. Segue meu email do trabalho também, durante o dia eu estou no trabalho e sem acesso a MSN. Segue email: leandro@clune.com.br

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.