Jump to content

violin101

Members
  • Content count

    95
  • Joined

  • Last visited

Community Reputation

0 Comum

About violin101

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. violin101

    Codeigniter - Como enviar múltiplos e-mails com PHPmailer

    Caros amigos, saudações... Depois de muita pesquisa e orientação no grupo, consegui realizar o envio de múltiplos e-mails. O problema agora é que quando envio os e-mails, todos os envio aparece desta forma para os Clientes e/ou Fornecedores. email_1@teste.com,email_2@teste.com,email_3@teste.com,email_4@teste.com,email_5@teste.com Desta forma acima, quando o Cliente abre seu e-mail visualiza todos os outros demais que receberam também. Como consigo fazer para que cada envio mostra somente o e-mail exclusivo de cada cliente ? Abaixo posto meu código: <?php //Função para Disparar Mensagem function disparaMensagem() { $idCts = $this->input->post('idCts'); $idCta = str_pad($idCts, '5', '0', STR_PAD_LEFT); $idCli = $this->input->post('idCli'); $idCtg = $this->input->post('idCtg'); //ID categoria $razSoc = $this->input->post('razSoc'); //Razão Social $dtaEnv = $this->input->post('dtaEnv'); //Data envio $dtaEnv = $this->input->post('dtaEnv'); //Hora envio $cta = $idCli . '.' . $idCta; $data = date(('d/m/Y'), strtotime($dtaEnv)); $hora = date(('H:i'), strtotime($dtaEnv)); //Chama a library - Email $this->load->library('email'); // adquiri os E-mails para Enviar $recbmail = $this->envio_model->fetch_data($idCts,$idCtg); //Recebe os E-mails os Fornecedores $end_mail = null; foreach ($recbmail->result_array() as $key => $value){ //Separa os e-mails por vírgula $end_mail[] = implode(',', $value); } $comunicStatus = 2; $retorno = $this->envio_model->editDispara($idCts, $comunictatus); if ($retorno) { //Laço para enviar os e-mails recebido do MySql //----> aqui faço um FOR para enviar os e-mails para cada Cliente for ($i=0; $i < $end_mail; $i++) { error_reporting(E_ALL); ini_set("display_Errors", 1); //Corpo do E-mail $this->email->from('meu-email@hotmail.com'); $this->email->to($end_mail); $this->email->subject('Comunicado'); $this->email->message('<!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 charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="content-language" content="pt-br" /> <title>Teste de E-mail</title> </head> <body style="font-size:14px;"> <br/> <b>Prezado Senhor Fornecedor</b><br/><br/> <label style="font-size:14px; color:#0E0E8F;"> <b>Comunicado</b> </label> <br/><br/> Empresa: <b>'.$razSoc.'</b><br/> Comunica que estaremos fazendo saldão de estoque, aproveite.</b><br/> Data para Encerrar: <b>'.$data.'</b> às <b>'.$hora.'.</b> <br/><br/> <b>Por favor, não responder este e-mail</b>. </body> </html>'); if($this->email->send()){ $this->session->set_flashdata('success', '<h4>Comunicado - Disparado com Sucesso para o(s) Fornecedor(es).</h4>'); redirect(base_url() . 'comunic/comunicado/editar/' . $this->input->post('idCts')); } else { $this->session->set_flashdata('error', 'Ocorreu um erro ao tentar enviar Aviso de Comunicado!'); redirect(base_url() . 'comunic/comunicado/editar/' . $this->input->post('idCts')); }//Fim do IF-send }//Fim do FOR } else { $this->session->set_flashdata('error', 'Ocorreu um erro ao tentar disparar a Comunicado. Por favor, informe ao Administrador do Sistema.'); redirect(base_url() . 'comunic/comunicado/editar/' . $this->input->post('idCts')); } } ?> Grato, Cesar
  2. violin101

    PHPMailer com conta hotmail

    Caro Paulo, saudações... Tenta essa configuração, abaixo: <?php defined('BASEPATH') OR exit('No direct script access allowed.'); $config['useragent'] = 'PHPMailer'; // Mail engine switcher: 'CodeIgniter' or 'PHPMailer' $config['protocol'] = 'smtp'; // 'mail', 'sendmail', or 'smtp' $config['mailpath'] = '/usr/sbin/sendmail'; $config['smtp_host'] = 'smtp-mail.outlook.com'; $config['_smtp_auth'] = TRUE; // Whether to use SMTP authentication, boolean TRUE/FALSE. If this option is omited or if it is NULL, then SMTP authentication is used when both $config['smtp_user'] and $config['smtp_pass'] are non-empty strings. $config['smtp_user'] = 'seu_email@hotmail.com'; // Informe um e-mail válido para enviar e-mail $config['smtp_pass'] = 'sua_senha'; // Informe uma senha válida do seu e-mail informado acima $config['smtp_port'] = 587; $config['smtp_timeout'] = 30; // (in seconds) $config['smtp_crypto'] = 'tls'; // '' or 'tls' or 'ssl' $config['smtp_debug'] = 0; // PHPMailer's SMTP debug info level: 0 = off, 1 = commands, 2 = commands and data, 3 = as 2 plus connection status, 4 = low level data output. $config['debug_output'] = ''; // PHPMailer's SMTP debug output: 'html', 'echo', 'error_log' or user defined function with parameter $str and $level. NULL or '' means 'echo' on CLI, 'html' otherwise. $config['smtp_auto_tls'] = false; // Whether to enable TLS encryption automatically if a server supports it, even if `smtp_crypto` is not set to 'tls'. $config['smtp_conn_options'] = array(); // SMTP connection options, an array passed to the function stream_context_create() when connecting via SMTP. $config['wordwrap'] = true; $config['wrapchars'] = 76; $config['mailtype'] = 'html'; // 'text' or 'html' $config['charset'] = null; // 'UTF-8', 'ISO-8859-15', ...; NULL (preferable) means config_item('charset'), i.e. the character set of the site. $config['validate'] = true; $config['priority'] = 3; // 1, 2, 3, 4, 5; on PHPMailer useragent NULL is a possible option, it means that X-priority header is not set at all, see https://github.com/PHPMailer/PHPMailer/issues/449 $config['crlf'] = "\n"; // "\r\n" or "\n" or "\r" $config['newline'] = "\n"; // "\r\n" or "\n" or "\r" $config['bcc_batch_mode'] = false; $config['bcc_batch_size'] = 200; $config['encoding'] = '8bit'; // The body encoding. For CodeIgniter: '8bit' or '7bit'. For PHPMailer: '8bit', '7bit', 'binary', 'base64', or 'quoted-printable'. Espero ter ajudado. Atenciosamente, Cesar
  3. violin101

    Codeigniter - Como enviar múltiplos e-mails com PHPmailer

    Caros amigos Li várias vezes o exemplos mencionado mas infelizmente não consegui entender. Abaixo posto meu código que utilizo para enviar RESPOSTA de E-MAIL ===> individual. <?php class Contats extends CI_Controller{ function __construct() { parent::__construct(); if ((!session_id()) || (!$this->session->userdata('logado'))) { redirect('admin/login'); } $this->load->helper(array('form', 'codegen_helper')); $this->load->model('admin/contats_model', '', true); $this->load->model('admin/controle_model'); $this->data['usuario'] = $this->controle_model->getById($this->session->userdata('id')); $this->data['dados'] = $this->controle_model->getEmitente(); $this->data['clients'] = $this->controle_model->getClientes($this->session->userdata('id')); } function index() { $this->gerenciar(); } function gerenciar($id = null) { $this->data['results'] = $this->contats_model->get('contatos', 'idcontatos,nomecontato,emailcontato,asscontato,menscontato,respcontato,datarecebe,horarecebe,dataresposta,horaresposta,iduser', '', $id); $this->load->view('admin/estilo/header', $this->data); $this->load->view('admin/contats/contats'); } //Função para responder Contato por e-mail function responder($id = null) { if ($this->input->post()) { //Recebe variáveis via POST $email = $this->input->post('mailCont'); $retorno = $this->input->post('retorno'); $dadoscont = $this->contats_model->buscaemail($email, $id); if ((isset($dadoscont)) && (!empty($dadoscont))) { $status = ''; foreach ($dadoscont as $user) { $nome = $user->nomecontato; $asunt = $user->asscontato; $mensag = $user->menscontato; $status = $user->respcontato; $dtarec = date(('d/m/Y'), strtotime($user->datarecebe)); $hrsrec = date(('H:i:s'), strtotime($user->horarecebe)); } if ($status != 2 ) { error_reporting(E_ALL); ini_set("display_Errors", 1); $this->load->library('email'); $this->email->from('meuEmail@hotmail.com'); //o mesmo e-mail que estiver no config/email.php $this->email->to($email); $this->email->subject('Retorno: '.$asunt.''); $this->email->message('<!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 charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="content-language" content="pt-br" /> <title>Teste de E-mail</title> </head> <body> <br/>'.$retorno.'<br/> <hr/><br/> De: '.$nome.'<br/> Enviado: '.$dtarec.' - '.$hrsrec.'<br/> E-mail: '.$email.'<br/> Assunto: '.$asunt.'<br/> <br/>'.$mensag.'<br/> </body> </html>'); if($this->email->send()){ $this->session->set_flashdata('success', 'Contato Respondido com sucesso!'); redirect(base_url() . 'admin/contats/responder/'.$this->input->post('idcontatos')); } else { $this->session->set_flashdata('error', 'Ocorreu um erro ao tentar Responder o Contato!'); redirect(base_url() . 'admin/contats/responder/'.$this->input->post('idcontatos')); } } else { $this->session->set_flashdata('error', 'Não foi possível enviar o e-mail!'); redirect(base_url() . 'admin/contats/responder/'.$this->input->post('idcontatos')); } } else { $this->session->set_flashdata('error', 'Este E-mail não existe!'); redirect(base_url() . 'admin/contats/responder/'.$this->input->post('idcontatos')); } } else { $this->data['result'] = $this->contats_model->getById($id); $this->load->view('admin/estilo/header', $this->data); $this->load->view('admin/contats/respondeContats'); } } } O código acima envia resposta individual para cada contato que é uma Beleza. Tentei de várias formas fazer o envio MÚLTIPLO mas não tive sucesso. Por favor, alguém teria algum exemplo nesse assunto. Os tema de leitura que os amigos me indicou não consegui entender. Grato, Cesar
  4. Caros amigos, saudações... Desculpa recorrer ao grupo mas estou com uma dúvida e não sei como resolver. Tenho uma Rotina onde consigo enviar e-mail usando phpmailer. O problema é que consigo enviar individualmente. Preciso criar uma Rotina onde Busco no MySql todos os usuário que comprou um determinado produto (por exemplo: Notebook). no MySql foi encontrado 10 usuários ou pode ser mais ou menos usuário. Como faço para enviar e-mail a todos os usuários com uma mensagem de agradecimento ? Grato, Cesar
  5. violin101

    PHP - Upload mudar nome do file

    Caros amigos. Consegui resolver. fiz algumas alterações: <?php // dados para o novo nome do arquivo $codigoCaptcha = substr(md5(time()) ,0, 10); $upload_conf = array( 'upload_path' => realpath('./assets/anexos'), 'allowed_types' => 'pdf|PDF', // formato permitido para anexo 'max_size' => 1024, 'file_name' => 'dcto('.$codClie.')-'.$codigoCaptcha, ); foreach ($_FILES['userfile'] as $key => $val) { $i = 1; foreach ($val as $v) { $field_name = "file_".$i; $_FILES[$field_name][$key] = $v; $i++; } //reinicia a biblioteca $this->upload->initialize($upload_conf); } ?>
  6. violin101

    PHP - Upload mudar nome do file

    Caros amigos membros do grupo, saudações... Gostaria de tirar uma dúvida com os amigos. Tenho uma rotina onde consigo efetuar o Download de arquivos para uma pasta dentro do sistema, o que preciso seria mudar o nome do arquivo, por exemplo: após selecionar o arquivo criado com o nome de: ESTOQUE.PDF gostaria de gravar na pasta de upload's com um novo nome, como por exemplo: cliente[1]-estoque.pdf. Onde poderia fazer essa alteração na rotina abaixo, para gravar o arquivo com um novo nome ? abaixo posto o fonte da rotina. <?php public function anexar() { $this->load->library('upload'); $this->load->library('image_lib'); $upload_conf = array( 'upload_path' => realpath('./assets/anexos'), 'allowed_types' => 'pdf|PDF|doc|DOC|docx|DOCX', // formatos permitidos para anexos de os 'max_size' => 1024, ); //Recebe a variável via POST $validade = $this->input->post('validade'); $this->upload->initialize($upload_conf); foreach ($_FILES['userfile'] as $key => $val) { $i = 1; foreach ($val as $v) { $field_name = "file_".$i; $_FILES[$field_name][$key] = $v; $i++; } } unset($_FILES['userfile']); $error = array(); $success = array(); foreach ($_FILES as $field_name => $file) { if (! $this->upload->do_upload($field_name)) { $error['upload'][] = $this->upload->display_errors(); } else { $upload_data = $this->upload->data(); if ($upload_data['is_image'] == 1) { // set the resize config $resize_conf = array( 'source_image' => $upload_data['full_path'], 'new_image' => $upload_data['file_path'].'thumbs/thumb_'.$upload_data['file_name'], 'width' => 200, 'height' => 125 ); $this->image_lib->initialize($resize_conf); if (! $this->image_lib->resize()) { $error['resize'][] = $this->image_lib->display_errors(); } else { $success[] = $upload_data; $this->load->model('Dados/Dadosclie_model'); $this->Dadosclie_model->anexar($this->input->post('idCli'), $this->input->post('descricao'), $validade, $upload_data['file_name'], base_url().'assets/anexos/', 'thumb_'.$upload_data['file_name'], realpath('./assets/anexos/')); } } else { $success[] = $upload_data; $this->load->model('Dados/Dadosclie_model'); $this->Dadosclie_model->anexar($this->input->post('idCli'), $this->input->post('descricao'), $validade, $upload_data['file_name'], base_url().'assets/anexos/', '', realpath('./assets/anexos/')); } } } if (count($error) > 0) { echo json_encode(array('result'=> false, 'mensagem' => 'Nenhum arquivo foi anexado.')); } else { echo json_encode(array('result'=> true, 'mensagem' => 'Arquivo(s) anexado(s) com sucesso .')); } } ?> Grato, Cesar
  7. violin101

    Valor decimal x quantidade = ???

    Olá, saudações... Não sei se é o seu caso, mas tente assim: $valor = floatval(str_replace(",",".",$precoProduto)); $subTotal = $qtdeItem * $valor; <?php echo 'R$ '.number_format($subTotal,2,",","."); ?>
  8. violin101

    MPDF - Imprimir 1 registro por página

    Olá amigo Alaerte Gabriel saudações... Minha dúvida: onde devo colocar a função para fazer o SALTO de PÁGINA ? o meu controller para gerar o relatório está assim: <?php public function categoriasRapid() { $data['title'] = 'Relatório de Categorias'; $data['dados'] = $this->controle_model->getEmitente(); $data['topo'] = $this->load->view('admin/relatorios/imprimir/imprimirTopo', $data, true); $ordenar = $this->input->post('ordenar'); $data['categ'] = $this->Relatorios_model->categoriasRapid($ordenar); $html = $this->load->view('admin/relatorios/imprimir/printCategoriaRapid', $data, true); // carrega a library $this->load->library('mpdf'); // define o $mdpf $mpdf = $this->mpdf->method; // define o display mode $mpdf->SetDisplayMode('fullpage'); // carrega o css $stylesheet = file_get_contents(base_url().'templates/bower_components/bootstrap/dist/css/bootstrap.min.css'); $stylesheet = file_get_contents(base_url().'templates/bower_components/font-awesome/css/font-awesome.min.css'); $stylesheet = file_get_contents(base_url().'templates/bower_components/Ionicons/css/ionicons.min.css'); $stylesheet = file_get_contents(base_url().'templates/dist/css/skins/_all-skins.min.css'); $stylesheet = file_get_contents(base_url().'templates/bower_components/morris.js/morris.css'); $stylesheet = file_get_contents(base_url().'templates/bower_components/jvectormap/jquery-jvectormap.css'); $stylesheet = file_get_contents(base_url().'templates/bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css'); $stylesheet = file_get_contents(base_url().'templates/bower_components/bootstrap-daterangepicker/daterangepicker.css'); $stylesheet = file_get_contents(base_url().'templates/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css'); $stylesheet = file_get_contents(base_url().'templates/dist/css/AdminLTE.css'); // O parâmetro 1, diz que o conteúdo é um stylesheet $mpdf->WriteHTML($stylesheet, 1); // imprimir no formato paisagem $mpdf->AddPage('L'); $mpdf->WriteHTML($html); $mpdf->Output('Cotação Responder.pdf',"I"); } ?> Agradeço sua ajuda. Cesar
  9. violin101

    MPDF - Imprimir 1 registro por página

    Caros amigos, membro do grupo. saudações... Primeiramente peço desculpa se estou postando minha dúvida na opção errada. Estou com uma dúvida e não estou conseguindo solucioná-la, fiz várias pesquisas mas não encontrei o que procuro. Tenho um Relatório em MPDF que imprime todos os registro juntos. <=== até aqui tudo bem. Gostaria de ter a opção de imprimir 1(um) registro por página. Alguém saberia me informar como faço isso ? Grato, Cesar
  10. violin101

    ENVIAR EMAIL COM ARQUIVOS ANEXOS VIA PHP

    Amigo tente assim: <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <title>Enviar e-mail com anexo</title> </head> <body> <!--Linha abaixo modificada - FORM--> <form id="form1" name="form1" method="POST" action="" enctype="multipart/form-data"> <table width="500" border="0" align="center" cellpadding="0" cellspacing="2"> <tr> <td align="right">Nome:</td> <td><input type="text" name="nome" id="nome" /></td> </tr> <tr> <td align="right">Assunto:</td> <td><input type="text" name="assunto" id="assunto" /></td> </tr> <tr> <td align="right">Mensagem:</td> <td><textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea></td> </tr> <tr> <td align="right">Anexo:</td> <td><input type="file" id="arquivo" name="arquivo" /></td> </tr> <tr> <td colspan="2" align="center"> <!--Linha abaixo modificada - BUTTON--> <button type="submit" name="execut" id="execut" class="btn btn-primary" value="Enviar" >Enviar</button> </td> </tr> </table> </form> <?php //Linha abaixo modificada if(isset($_POST['execut']) && $_POST['execut'] == 'Enviar'){ $nome = $_POST['nome']; $assunto = $_POST['assunto']; $mensagem = $_POST['mensagem']; $arquivo = $_FILES["arquivo"]; $corpoMSG = "<strong>Nome:</strong> $nome<br> <strong>Mensagem:</strong> $mensagem"; // chamada da classe require_once('class.phpmailer.php'); // instanciando a classe $mail = new PHPMailer(); // email do remetente $mail->SetFrom('remetente@dominio.com.br', 'remetente'); // email do destinatario $address = "destinatario@dominio.com.br"; $mail->AddAddress($address, "destinatario"); // assunto da mensagem $mail->Subject = $assunto; // corpo da mensagem $mail->MsgHTML($corpoMSG); // anexar arquivo $mail->AddAttachment($arquivo['tmp_name'], $arquivo['name'] ); if(!$mail->Send()) { echo "Erro: " . $mail->ErrorInfo; } else { echo "Mensagem enviada com sucesso!"; } } ?> </body> </html>
  11. violin101

    ENVIAR EMAIL COM ARQUIVOS ANEXOS VIA PHP

    Olá amigo, saudações... Troque essa linha: if($_GET['acao'] == 'enviar'){ por essa linha......: if($_POST['acao'] == 'enviar'){ acho que vai dar certo
  12. violin101

    Mostrar Meus Indiretos Sem o <br>

    Olá amigo, dê uma olhadinha nesse manual do PHP https://www.php.net/manual/pt_BR/function.implode.php Acho que vai te ajudar.
  13. violin101

    PHP 7.2.5 conflito com mPDF

    Caros amigos Me desculpa em recorrer a ajuda do grupo, mas estou enfrentando um problema que não estou conseguindo entender. Estou montando um relatório usando mPDF versão 6.1 com o PHP versão 7.2.5 Infelizmente estou com problema de: MESSAGE: ILLEGAL STRING OFFSET 'ID'. Como consigo resolver esse problema usando a versão do PHP 7.2.5 ? Grato, Cesar
  14. violin101

    Problema com acentos. Dois charset na mesma página?

    Olá Edison Já tentou assim: <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Seu_Titulo</title> </head> <body> ... </body> </html>
  15. violin101

    Problema com acentos. Dois charset na mesma página?

    Olá Edilson Tenta Criar seus form's desta forma: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="content-language" content="pt-br" /> <title>SeuTitulo</title> </head> <body> ... </body> </html>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.