Ir para conteúdo

POWERED BY:

Arquivado

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

zanelati2002

[Resolvido] Como mandar mensagem para outra tabela

Recommended Posts

pessoal é o seguinte vamos supor que um membro do meu site envie uma mensagem para um membro só que no banco de dados tenho duas tabelas users e messages as mensagens enviadas vão para o membro mais tipo queria enviar também um e-mail para ele dizendo que tem uma mensagem para ele mais ele não ta encontrando a tabela e-mail olha o codigo que to usando

 

<%
'Assign form values to variables
sentfrom =Session("username")
sendto = Request.Form("sendto")
senduser = Request.Form("senduser")
subject = Request.Form("subject")
message = Request.Form("message")
%>
<!--#include file="conexao.asp"-->
<%
'Check the user the message is being sent to exists
sql = "SELECT username FROM Users WHERE username = '" & sendto & "'"
Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.Open sql, conn, 3, 3

if rsUser.EOF then
	nouser()
end if
rsUser.close
set rsUser = nothing

Set rsMessage = Server.CreateObject("ADODB.Recordset")
rsMessage.open "Messages", conn, 3, 3
rsMessage.AddNew
rsMessage("sentfrom") = sentfrom
rsMessage("sendto") = sendto
rsMessage("subject") = subject
rsMessage("message") = message
rsMessage.Update
rsMessage.close
set rsMessage = nothing

Set Mail = Server.CreateObject("JMail.SMTPMail")
	HTML = "<!DOCTYPE HTML PUBLIC""-//IETF//DTD HTML//EN"">"
	HTML = HTML & "<html>"
	HTML = HTML & "<head>" 
	HTML = HTML & "</head>"
	HTML = HTML & "<body bgcolor=""FFFFFF"">"
	HTML = HTML & "<font face=Verdana size=1>"
	HTML = HTML & "Olá <b>"& sendto &"</b>, Você tem uma nova mensagem no site Onemasters.com<br>"
	HTML = HTML & "- Seguem dados abaixo de quem te enviou<br>" 
	HTML = HTML & "- Nome: <b>"& username &"</b><br>" 
	HTML = HTML & "- Assunto: <b>"& subject &"</b><br>" 
	HTML = HTML & "- Acesse nosso site agora e saiba o que foi postado<br>" 
	HTML = HTML & "- Sobre você: <b>"& sobre_voce &"</b><br>"
	HTML = HTML & "http://www.onemasters.com - Todos os direitos reservados.<br>"	 
	HTML = HTML & "</body>"
	HTML = HTML & "</html>"
Mail.ServerAddress = "smtp.onemasters.com"
Mail.Logging = True
Mail.Sender = "admin@onemasters.com" 
Mail.SenderName = "Nova Mensagem"
Mail.AddRecipient Request.Form("email")
Mail.Subject = "Nova Mensagem"
Mail.HTMLBody = HTML
Mail.Execute
Set Mail = Nothing

%>

da dando este erro

jmail.SMTPMail error '8000ffff'

 

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

 

/login/mensagem_enviada.asp, line 115

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse código você utiliza em outra área do site? Funciona?

 

Caso não utilize, preencha manualmente o os campos e faça um teste para vê se está tudo ok com o envio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo veja só não fui bem claro nas minhas explicações...

 

 

O codigo grava a mensagem envia para o membro certinho mais agora quero também enviar uma mensagem para o e-mail do membro mais acontece que não existe na tabela o e-mail só na tabela users ve que ele verifica se o username existe mesmo o que faço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você tem o usuário da pessoa, é só fazer uma consulta através do usuário para pegar o e-mail. Isso não é possível?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teria que adaptar. A tabela USERS possui um campo e-mail?

 

Você pega o usuário da pessoa que receberá o e-mail, faça uma consulta:

EXEMPLO: sql = "SELECT email FROM Users WHERE username = '" & sendto & "'"

 

Pega o e-mail e envia...

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais ela possui o campo e-mail no cadastro quando o mesmo faz ela cadastra o e-mail só que na tabela message não tem este tipo pois só manda a mensagem para dentro do site agora o que não to conseguindo é fazer com que o user que vai receber a mensagem receber no email dele também

 

justamente aqui sql = "SELECT email FROM Users WHERE username = '" & sendto & "'"

 

ele faz a verificação se existe o username para ele enviar a mensagem e o email não

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon acho que aqui

 

Vou tentar explicar melhor, na tabela users tem o campo email e na tabela messages não tem o campo email

O codigo sem o Jmail manda o e-mail para o user ver quando ele se loga no site mais agora to querendo enviar uma menagem para quem vai receber a mensagem que tem uma mensagem para ele no site mais da o erro

 

jmail.SMTPMail error '8000ffff'

 

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

 

/login/mensagem_enviada.asp, line 115

 

porque ele não encontra o campo email na tabela message só na users mais eu não consigo fazer ele achar este campo olha como estou tentando

 

sql = "SELECT username FROM Users WHERE username = '" & sendto & "'" não da

sql = "SELECT email FROM Users WHERE username = '" & sendto & "'" não da

sql = "SELECT username, email FROM Users WHERE username = '" & sendto & "'" não da

 

onde estou errando

 

porque veja só

 

aqui

 

Mail.AddRecipient Request.Form("email")

 

ele não pega nenhum email do campo form porque não precisa somente tem que fazer a verificação do email do sendto e enviar o email não é

Compartilhar este post


Link para o post
Compartilhar em outros sites

to tentando fazer assim mais ta dando o mesmo erro

 

no caso ele não ta capitando o e-mail da tabela user e não do username ele trava aqui Mail.AddRecipient Request.Form("email")

 

pois não consigo pegar os dados do email de quem vai receber a mensagem

 

sera posso fazer assim

 

<%
'Check the user the message is being sent to exists
sql = "SELECT username FROM Users WHERE username = '" & sendto & "'"
sql = "SELECT email FROM Users WHERE email = '" & sendto & "'"
Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.Open sql, conn, 3, 3

mais como fica este campo

Mail.AddRecipient Request.Form("email")

 

pois este campo que ta dando problema

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste a estrutura da tabela USERS para que eu possa entender o que está acontecendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon seguinte tem o campo email na tabela users correto

Mais <%

'Check the user the message is being sent to exists

sql = "SELECT username FROM Users WHERE username = '" & sendto & "'"

Set rsUser = Server.CreateObject("ADODB.Recordset")

rsUser.Open sql, conn, 3, 3

 

 

ele faz a consulta na tabela users para ver se existe o username do formulario

certo

 

mais como fica este campo

Mail.AddRecipient Request.Form("email")

 

pois este campo que ta dando problema

 

 

pois não esta havendo uma consulta do email na tabela users

 

No formulario que mando a mensagem não tem o campo email pois só é mandando para que o user veja no site mais quero enviar uma mensagem para quem vai receber esta mensagem mais no email dele mais como achar o email na tabela users já que tem este campo como ele acha do username ai que vem minha duvida acima

Compartilhar este post


Link para o post
Compartilhar em outros sites

A idéia é: existe o USERNAME? Então pega o e-mail dele.

sql = "SELECT email FROM Users WHERE username = '" & sendto & "'"
Set rsUserV = Server.CreateObject("ADODB.Recordset")
rsUserV.Open sql, conn, 3, 3

If not rsUserV.eof then
	emailUser = rsUserV("email")
End if
rsUserV.close
set rsUserV = nothing
Mail.AddRecipient emailUser

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.