kklo Posted January 3, 2012 Report Share Posted January 3, 2012 (edited) Boa noite a todos!Estou tentando usar o phpmailer para enviar dados da tabela MySQL em um email via arquivo .scv em anexo, do meu dominio para uma conta de email.Consegui receber o email porem sem o anexo.Uso 3 script básico: envia_email.php, exp.php e conexao.phpenvia_email.php<?php //autenticacao //----------------- //$porta = ''; // porta padrão: 25 //$secure = ''; // 'ssl' ou 'tls' //----------------- $host = 'meudominio.com.br'; $userName = 'email@meudominio.com.br'; $senha = '9875247'; //---------------- $from = 'emailde@meudominio.com.br'; $fromName = 'nome'; $addAddress = 'destinatario@meudominio.com.br';//destinatario $nameAddAddress = 'Site';//nome destinatario $charset = 'iso-8859-1';// $subject = ''; //titulo $arquivo = ''; $tipoTexto = 'html'; $body = 'texto';//corpo do email require("phpmailer/class.phpmailer.php"); // Inicia a classe PHPMailer $mail = new PHPMailer(); // Define os dados do servidor e tipo de conexão // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->IsSMTP(); // Define que a mensagem será SMTP $mail->Host = $host; // Endereço do servidor SMTP $mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional) $mail->Username = $userName; // Usuário do servidor SMTP $mail->Password = $senha; // Senha do servidor SMTP $mail->SMTPSecure = $secure; $mail->Port = $porta; // Define o remetente // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->From = $from; // Seu e-mail $mail->FromName = $fromName; // Seu nome // Define os destinatário(s) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->AddAddress($addAddress, $nameAddAddress); //$mail->AddAddress('emaildaicional@gmail.com'); //$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia //$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta // Define os dados técnicos da Mensagem // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= if ($tipoTexto=='html'){ $mail->IsHTML(true); // Define que o e-mail será enviado como HTML }elseif($tipoTexto=='texto'){ $mail->IsHTML(false); // Define que o e-mail será enviado como HTML } $mail->CharSet = $charset; // Charset da mensagem (opcional) // Define a mensagem (Texto e Assunto) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->Subject = $subject; // Assunto da mensagem $mail->Body = $body; $mail->AltBody = '\n \n \n Teste de envio phpmailer \r\n '; // Define os anexos (opcional) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= if ($arquivo!=""){ $mail->AddAttachment($arquivo, 'autodetect', 'attachment', 'quoted-printable'); // Insere um anexo } // Envia o e-mail $enviado = $mail->Send(); // Limpa os destinatários e os anexos $mail->ClearAllRecipients(); $mail->ClearAttachments(); // Exibe uma mensagem de resultado if ($enviado) { echo "E-mail enviado com sucessoo!"; } else { echo "Não foi possível enviar o e-mail.<br /><br />"; echo "<b>Informações do erro:</b> <br />" . $mail->ErrorInfo; }?> arquivo exp.php <?php include "conexao.php";session_start(); include "envia_email.php";$vInicio = 0;if ($_REQUEST['de'] != ''){$vInicio = $_REQUEST['de'];}$vFim = 0;if ($_REQUEST['ate'] != ''){$vFim = $_REQUEST['ate'];}$vlimite = " ";$voffset = "";if ($_REQUEST['offset'] != ""){ $vOffset = " OFFSET "& $_REQUEST['offset']; $vlimite = " LIMIT 50 ";}$vCond = "";if ($_REQUEST['pendente'] == "1"){ $vCond = " enviar = 0 "; $vlimite = " LIMIT 50 ";}$campos = "*";... //prepara e envia os dados (arquivo) via email $p_codigo = $cpf; $assunto = 'Cadastro'; $mensagem = 'Envio do cadastrado pelo site'; $arquivo = "send/cv".$cpf.".scv"; sendMail("email@meudominio", $mensagem, $assunto,$arquivo ); ... } // fim while } else { echo "Erro! Não foi possível carregar os dados."; }?> Para não me estender, deixei de colocar os itens dos campos e suas variaveis.Tentei usar o sendMail, mas não consegui configurar a conta do email e meu servidor sugeriu usar o phpMailer.O que devo usar para anexar o arquivo scv, acima?ObrigadoRicardo Edited January 3, 2012 by kklo Quote Link to comment Share on other sites More sharing options...
Question
kklo
Boa noite a todos!
Estou tentando usar o phpmailer para enviar dados da tabela MySQL em um email via arquivo .scv em anexo, do meu dominio para uma conta de email.
Consegui receber o email porem sem o anexo.
Uso 3 script básico: envia_email.php, exp.php e conexao.php
envia_email.php
<?php
//autenticacao
//-----------------
//$porta = ''; // porta padrão: 25
//$secure = ''; // 'ssl' ou 'tls'
//-----------------
$host = 'meudominio.com.br';
$userName = 'email@meudominio.com.br';
$senha = '9875247';
//----------------
$from = 'emailde@meudominio.com.br';
$fromName = 'nome';
$addAddress = 'destinatario@meudominio.com.br';//destinatario
$nameAddAddress = 'Site';//nome destinatario
$charset = 'iso-8859-1';
// $subject = ''; //titulo
$arquivo = '';
$tipoTexto = 'html';
$body = 'texto';//corpo do email
require("phpmailer/class.phpmailer.php");
// Inicia a classe PHPMailer
$mail = new PHPMailer();
// Define os dados do servidor e tipo de conexão
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->Host = $host; // Endereço do servidor SMTP
$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
$mail->Username = $userName; // Usuário do servidor SMTP
$mail->Password = $senha; // Senha do servidor SMTP
$mail->SMTPSecure = $secure;
$mail->Port = $porta;
// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->From = $from; // Seu e-mail
$mail->FromName = $fromName; // Seu nome
// Define os destinatário(s)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->AddAddress($addAddress, $nameAddAddress);
//$mail->AddAddress('emaildaicional@gmail.com');
//$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia
//$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta
// Define os dados técnicos da Mensagem
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
if ($tipoTexto=='html'){
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
}elseif($tipoTexto=='texto'){
$mail->IsHTML(false); // Define que o e-mail será enviado como HTML
}
$mail->CharSet = $charset; // Charset da mensagem (opcional)
// Define a mensagem (Texto e Assunto)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->Subject = $subject; // Assunto da mensagem
$mail->Body = $body;
$mail->AltBody = '\n \n \n Teste de envio phpmailer \r\n ';
// Define os anexos (opcional)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
if ($arquivo!=""){
$mail->AddAttachment($arquivo, 'autodetect', 'attachment', 'quoted-printable'); // Insere um anexo
}
// Envia o e-mail
$enviado = $mail->Send();
// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
$mail->ClearAttachments();
// Exibe uma mensagem de resultado
if ($enviado) {
echo "E-mail enviado com sucessoo!";
} else {
echo "Não foi possível enviar o e-mail.<br /><br />";
echo "<b>Informações do erro:</b> <br />" . $mail->ErrorInfo;
}
?>
arquivo exp.php
<?php
include "conexao.php";
session_start();
include "envia_email.php";
$vInicio = 0;
if ($_REQUEST['de'] != '')
{
$vInicio = $_REQUEST['de'];
}
$vFim = 0;
if ($_REQUEST['ate'] != '')
{
$vFim = $_REQUEST['ate'];
}
$vlimite = " ";
$voffset = "";
if ($_REQUEST['offset'] != "")
{
$vOffset = " OFFSET "& $_REQUEST['offset'];
$vlimite = " LIMIT 50 ";
}
$vCond = "";
if ($_REQUEST['pendente'] == "1")
{
$vCond = " enviar = 0 ";
$vlimite = " LIMIT 50 ";
}
$campos = "*";
...
//prepara e envia os dados (arquivo) via email
$p_codigo = $cpf;
$assunto = 'Cadastro';
$mensagem = 'Envio do cadastrado pelo site';
$arquivo = "send/cv".$cpf.".scv";
sendMail("email@meudominio", $mensagem, $assunto,$arquivo );
...
} // fim while
}
else
{
echo "Erro! Não foi possível carregar os dados.";
}
?>
Para não me estender, deixei de colocar os itens dos campos e suas variaveis.
Tentei usar o sendMail, mas não consegui configurar a conta do email e meu servidor sugeriu usar o phpMailer.
O que devo usar para anexar o arquivo scv, acima?
Obrigado
Ricardo
Edited by kkloLink to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.