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

Aspemail


spriggan

Pergunta

Boa tarde a todos!!!!!

Galera, seguinte, andei tentando fazer o envio de mensagens via ASP, gostaria de contar com a ajuda de vocês...

não tenho mta ideia de por onde começar, andei lendo alguns posts mas ainda tenho mtas duvidas de como fazer meus clientes estão cadastrados em um banco sql server, e gostaria de enviar o email a todos os cadastrados retornados pelo sqlo conteudo de minha mensagem será praticamente o mesmo sempre mudando apenas o nome do cliente.

outro problema que tenho é que as vezes os mails, podem superar o numero max de mensagem que o servidor smtp, permite dai teria q passar por mais de um host em alguns casos.

outra duvida é q no meu caso meu host smtp exige autenticação e ainda não encontrei nada para auxiliar neste tratamento...

até onde acompanhei, é necessário um componente para fazer o mesmo. estou usando o aspemail

segue o material que tenho tentado trabalhar.!

<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="Connections/grupoborin.asp" -->

<%

Set Mail = Server.CreateObject("Persits.MailSender")

Mail.Host = "smtp.hostnet.com.br"

Mail.From = "comercial@hostnet.com.br"

Mail.FromName = "Teste"

Mail.AddAddress "hugnei@hotmail.com", "Hugnei"

Mail.Subject = "Restrição Colcci"

Mail.Body = "Querida Jessica:" & chr(13) & chr(10) & "Obrigado pelos bons negócios . Seu gerente de vendas"

%>

<%

Dim Recordset1

Dim Recordset1_cmd

Dim Recordset1_numRows

Set Recordset1_cmd = Server.CreateObject ("ADODB.Command")

Recordset1_cmd.ActiveConnection = MM_grupoborin_STRING

Recordset1_cmd.CommandText = "select distinct a.cpf,a.[colocar para não poder receber cheque], b.cliente_varejo,b.email from clientes_com_restricao A left join clientes_varejo B on a.cpf=b.cpf_cgc where email is not null and email <> '' "

Recordset1_cmd.Prepared = true

Set Recordset1 = Recordset1_cmd.Execute

Recordset1_numRows = 0

%>

<%

Recordset1.Close()

Set Recordset1 = Nothing

%>

vlwww galera!

Editado por spriggan
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

você já verificou se a utilização desse componente está disponível no servidor?

você terá que criar um sistema de envio de e-mail que utilize o prinípio de uma "PAGINAÇÃO" para proceder o envio de forma a não estourar a cota do servidor...

Quanto ao nome é simples...

no corpo da mensagem você fará algo como:

'resgata o nome do bd atraves de uma consulta imprimindo o recordset
'onde quiser que o nome apareça coloque
nome = rs("nome")
mensagem = "mensagem quase igual pra todos, só muda o nome"
response.write nome & mensagem

verifique as infs que sugeri antes de continuar... pode ser que tenha outro componente a disposição que não esse... seria perda de tempo!

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0
você já verificou se a utilização desse componente está disponível no servidor?

você terá que criar um sistema de envio de e-mail que utilize o prinípio de uma "PAGINAÇÃO" para proceder o envio de forma a não estourar a cota do servidor...

Quanto ao nome é simples...

no corpo da mensagem você fará algo como:

'resgata o nome do bd atraves de uma consulta imprimindo o recordset
'onde quiser que o nome apareça coloque
nome = rs("nome")
mensagem = "mensagem quase igual pra todos, só muda o nome"
response.write nome & mensagem

verifique as infs que sugeri antes de continuar... pode ser que tenha outro componente a disposição que não esse... seria perda de tempo!

[]'s Rafael Spilki

Opa Rafael Antes de mais nada obrigado pela força!!!

Bom o componente que está disponibilizado no servidor, é o aspemail mesmo, o servidor é local (as paginas são voltadas pra intranet) o componente foi eu que instalei peguei no site oficial do componente, e registrei a dll conforme as instruções de instalação do componente!

outra duvida, seria como fazer em relação a autenticação..... uma vez q o servidor smtp requer....

OBS: Não preciso utilizar necessáriamente este componente do aspemail, se existirem outros (gratuíto) no qual alguém aqui no forum já trabalhou ou recomenda!!!

Editado por spriggan
Link para o comentário
Compartilhar em outros sites

  • 0
autenticação de aspemail:

...

[]'s Rafael Spilki

Vlwww com as dicas já tá enviando... agora como inicio o segundo passo??

Set Mail = Server.CreateObject("Persits.MailSender")
Mail.Host = "smtp.hostnet.com.br"
Mail.From = "comercial@hostnet.com.br"
Mail.FromName = "Teste"
Mail.AddAddress "hugnei@hotmail.com", "Hugnei"
Mail.Subject = "Restrição Colcci"
Mail.Body = "Querida Jessica:" & chr(13) & chr(10) & "Obrigado pelos bons negócios . Seu gerente de vendas"

Neste caso...

nas linhas

Mail.AddAddress "hugneicolcci@hotmail.com", "Hugnei"

Mail.Body = "Querida Jessica:" & chr(13) & chr(10) & "Obrigado pelos bons negócios . Seu gerente de vendas"

como seria para enviar para uma msg dessa para as listas, eu preencho os campos mail e o nome do cliente,

mas como fazer para esta ação ir para todos os clientes cadastrados porque assim vai mais vai só um, tmb to

com outro como saber qntos e quais emails derram erro, e quantos foram enviados corretamente,

e tmb aí entra a paginação q o rafael mensionou e tmb to perdido... rs pra variar!...

Editado por spriggan
Link para o comentário
Compartilhar em outros sites

  • 0

Os dados vão vir do bd certo?

Se sim você terá que fazer uma consulta ao seu banco de dados (google: consulta asp sql server) e depois efetuar um loop colocando a instrução de envio de e-mail dentro desse loop... a variavel do destinatário será o recordset...

Mas não se esqueça... td isso você terá que intregar a um script tipo de paginação para evitar que ultrapasse os limites do servidor!

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Salve Galera, seguinte até o momento o código tá assim....:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="Connections/grupoborin.asp" -->
<%
    ' change to address of your own SMTP server
    strHost = "MEU HOSTsmtp"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {    color: #FF0000;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: bold;
}
.style2 {    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: bold;
    color: #000000;
}
.style8 {color: #000000}
.style9 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #FF0000;}
-->
</style>
</head>

<body>
<FORM ACTION="aspmailrestricoes.asp">

  <p>Envia p/ Queue:
    <input type="checkbox" name="Queue" checked>
    Está opção diminue a carga sobre o IIS no servidor)
    <BR>

    <INPUT TYPE=SUBMIT NAME="Send" VALUE="Enviar Email para todos os clientes.">
  </p>
  <p><span class="style1">
    <% If strErr <> "" Then %>
Erros </span><span class="style9"><span class="style8">durante o envio</span></span><span class="style1"><span class="style8">:</span>
<% = strErr %>
</span><span class="style9"><span class="style8">para conta(s):</span></span><span class="style1">
<% = Request("To") %>
<% End If %>
</span><br />
<span class="style2">
<% If bSuccess Then %>
Mensagens Enviadas corretamente
<% = Request("To") %>
.
<% End If %>
</span></p>
  <p><br />
    <%
Dim rs
Dim rs_cmd
Dim rs_numRows

Set rs_cmd = Server.CreateObject ("ADODB.Command")
rs_cmd.ActiveConnection = MM_grupoborin_STRING
rs_cmd.CommandText = "select email,cliente_varejo from clientes_varejo where email is not null and email <> ''"
rs_cmd.Prepared = true

Set rs = rs_cmd.Execute
rs_numRows = 0

    If Request("Send") <> "" Then
        ' send email to all users
        Set Mail = Server.CreateObject("Persits.MailSender")
        Mail.Host = strHost
        Mail.IsHTML = False
        Mail.From = "MAIL DO REMETENTE"
        Mail.FromName = "NOME DO REMETENTE"
        Mail.Subject = "ASSUNTO"
        'ANEXOS
                                 strPath = Server.MapPath(".")
                                 Mail.AddAttachment strPath & "c:\placapare.jpg"
                                 Mail.AddAttachment strPath & "c:\fitapare.gif"
                                 'FIM ANEXOS
         'CORPO DA MENSAGEM
                                  Mail.Body = "MENSAGEM"

                             ' INSERE EMAIL
        While not rs.EOF
            Mail.AddBcc (rs.Fields.Item("email").Value),(rs.Fields.Item("cliente_varejo").Value)
            rs.MoveNext
        Wend
         If Request("Queue") <> "" Then
            Mail.Queue = True
        End if

        ' ENVIANDO MENSAGEM
        Mail.Username = "USUARIO"
                                Mail.Password = "SENHA"
                                strErr = ""
                               bSuccess = False
                                On Error Resume Next ' Pega os erros
                               Mail.Send
         If Err <> 0 Then ' error occurred
      strErr = Err.Description
   else
      bSuccess = True
    End If
        Response.Write "Comando processado consulte o log para maiores informações."
    Else
        ' Mostra os emails a serem enviados
        Response.Write "<B>Clientes encontrados para esta operação:</B><P>"
        While not rs.EOF
            Response.write ""
            Response.Write (rs.Fields.Item("cliente_varejo").Value) & " (" & (rs.Fields.Item("email").Value) & ")<BR>"
            rs.MoveNext
        Wend
    End If
%>
  </p>
</FORM>

</BODY>
</HTML>
</body>
</html>

<%
rs.Close()
Set rs = Nothing
%>

O código tá pegando todos os mail cadastrados, dpois você clica no botão e ele processa e envia tudo numa boa, os mails não caem como spam cai tudo certido do geito q eu quero, porem quando aponto pra tabela real, ao invés de usar a de teste ocorre o seguinte erro:

Tipo de erro:

Active Server Pages, ASP 0107 (0x80004005)

Os dados que estão sendo processados estão acima do limite permitido.

/estudo_asp/aspmail_maladireta.asp

na base de testes eu tinha 120 mails cadastrados,

na base real tenho mais ou menos 12mil.....

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,3k
×
×
  • Criar Novo...