Jump to content
gust.php

Imagem do banco para email

Recommended Posts

Boa noite pessoal.

 

Criei um template de email que uso em parte do sistema para envio aos usuários. Em um desses e-mails eu pego uma imagem que esta no banco e envio no corpo do e-mail.

 

Envio a imagem assim:


<p><img height="50px" width="50px" class="img-circle" src="data:image/jpeg;base64,<?php echo base64_encode($motorista->getFoto()->getFOTO()); ?>" / ></p>

 

No caso, o e-mail que esta recebendo esta mensagem é do gmail,  quando abro no PC a imagem não aparece, já quando abro no app do gmail, no celular, a imagem aparece.

 

Alguém saberia me dizer o pq ?

Share this post


Link to post
Share on other sites

Normalmente quando envio e-mail marketing eu hospedo as imagens da mensagem (de preferência no próprio host q disparou o E-mail)

 

-----

Dei uma pesquisada e parece que a maioria dos servidores bloqueiam a mensagem com src="data:image"

 

Resumindo, hospeda numa pasta /img/emailmarketing/{id_mensagem} q é sucesso haha

 

Ps: de preferência a hospedagem que possua SSL

Outro fator que pode influencia no E-mail é SMTP Auth?

phpmailer essas horas ajuda mt ;)

 

 

 

Share this post


Link to post
Share on other sites

Fala Gabriel,

 

cara, obrigado pela resposta, só que a questão não é e-mail marketing, uso uma função do zend2 para envio da mensagem, não tenho como hospedar a imagem em um lugar e criar um link.

 

Como o UBER envia a foto do motorista no recibo enviado por e-mail ?

 

Duvido que isso esteja em um diretório e tenha um link para a imagem.

 

Tenho outro e-mail que aceita bem, isso parece acontecer só no gmail. Outra coisa é, pq no APP do celular funciona ?

Share this post


Link to post
Share on other sites

Fica duvidando então :tounge_wink:

 

Img do Motorista hospedada no cloudfront.net: 

https://d1w2poirtb3as9.cloudfront.net/132447bd9a803f548735.jpeg

 

Email recebido pela Uber:

Uber_1.png

 

 

Ps: Sempre q tiver duvida utilize o Google Chrome, opção Inspecionar elementos.

Eu falo isso com propriedade por que participava de criação para E-mail marketing em agencia digitais 

 

 

Em criação de Apps já desconheço a tecnica.

Eu normalmente qnd faço Apps hibridos utilizo a mesma tecnica acima.

Qnd sugeri a criação do diretório seria de forma automática (obviamente somos programadores, manual é coisa de user hehe)

Ou pode ser simplesmente um Hash como o Uber fez acima :relieved:

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Artur Mendonça
      Olá amigos,
      tenho um sistema para registar fotos e fazer o upload das mesmas com o seguinte código
      <?php ini_set('display_errors',1); ini_set('display_startup_erros',1); error_reporting(E_ALL); session_start(); include_once("../../conexao.php"); //$titulo_artigo = $_POST['titulo_artigo']; //$nome $imagem2 = $_FILES['imagem']['name']; //$foto $imagem = $_FILES['imagem']; $adate = date('Y-m-d H:i:s'); $status ='process'; $albumid = $_REQUEST['id']; $pasta ='../../fotos/'; $resulta=mysqli_query($conectar,"SELECT * FROM tbl_album WHERE albumid='$albumid'"); $linhas = mysqli_fetch_assoc($resulta); $local= $linhas["local"]; $numfile = count(array_filter($imagem['name'])); $msg = array(); $errormsg = array( 1=> 'O arquivo é maior que o limite', 2=> 'O arquivo ultrapassa o limite de tamanho', 3=> 'O upload do arquivo foi feito parcialmente', 4=> 'Não feito o upload do arquivo' ); for($i = 0; $i < $numfile; $i++){ $name = $imagem['name'][$i]; $type = $imagem['type'][$i]; $size = $imagem['size'][$i]; $error = $imagem['error'][$i]; $tmp = $imagem['tmp_name'][$i]; $imagem2 = $_FILES['imagem']['name'][$i]; $extensao = @end(explode('.',$name)); //var_dump($nomefoto); //Validar extensão da imagem switch($type): case 'image/jpeg'; case 'image/pjpeg'; //Criar a imagem temporaria a ser manipulada ini_set('memory_limit', '-1'); $imagem_teporaria = imagecreatefromjpeg($tmp); break; case 'image/png'; case 'image/x-png'; //Criar a imagem temporaria a ser manipulada ini_set('memory_limit', '-1'); $imagem_teporaria = imagecreatefrompng($tmp); break; default: $_SESSION['msg'] = "<h3 style='color: red;'>Extensão ou tamanho da imagem inválida. A extensão deve ser JPG ou PNG e o tamanho máximo de 5mb</h3>"; //header("Location: ../addgimages2.php"); endswitch; //Importar a logo if ($local=='1'){ $logo = imagecreatefromgif("../../img/festivallogo.gif"); } else { $logo = imagecreatefromgif("../../img/logotipo.gif"); } //Obter a largura da logo $largura_logo = imagesx($logo); //Obter a altura da logo $altura_logo = imagesy($logo); //echo "$altura_logo - $largura_logo"; //Calcular posição x sendo 10px da lateral direita $x_logo = imagesx($imagem_teporaria) - $largura_logo - 10; //Calcular posição y sendo 10px do rodape $y_logo = imagesy($imagem_teporaria) - $altura_logo - 10; imagecopymerge($imagem_teporaria, $logo, $x_logo, $y_logo, 0, 0, $largura_logo, $altura_logo, 70); $imagemnome= time()."-".rand(). "-" .$imagem2; imagejpeg($imagem_teporaria, $pasta. $imagemnome); $query = mysqli_query($conectar,"INSERT INTO tbl_gallery ( aid, gimages, date, status) VALUES ('$albumid','$imagemnome', '$adate', '$status')") or die(mysqli_error($conectar)); } echo " <META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.gfmonteverde.com/administrar/addgallery.php''> <script type=\"text/javascript\"> alert(\"imagens guardadas com sucesso.\"); </script> "; } ?> Este foi um código que encontrei na internet, mas já não lembro onde foi...
      O código funciona perfeitamente.
       
      Acontece que no pc tenho algumas fotos que estão na vertical, quando vejo no pc fica tudo bem, mas quando faço o upload as mesmas ficam na horizontal.

      Já tentei diversas formas, mas todas sem sucesso, até com o exif_read_data....
       
    • By drx
      Olá feras!
       
      Estou recebendo este retorno da conexão: SQLSTATE[HY000] [1049] Base 'dbbase' inconnue
       
      O que é que pode ser?
       
      Tudo certinho. Fala que a dbbase não existe, mas existe.
      Alguém tem uma solução ?
       
      Desde já agradeço.
    • By fabioamorais
      Ola pessoal, sou novo aqui no fórum e também no mundo da programação. 

      Estou criando um sistema de cadastro de clientes em PHP 7 e mysql
      para meu serviço para fins de organização, tenho ja pronto o sistema de cadastro e edição do cliente, tenho login por usuário e senha.
      preciso colocar nesse sistema uma forma que registre a ação e o usuário que fez a ação quando houver uma alteração no cadastro.
      exemplo;
      O usuario (jose) alterou o status de analise para concluído .
      o usuario (pedro) alterou a localização de mesa para armario.
      e que fosse exibido como um tipo de histórico de eventos no próprio cadastro do cliente.
      e nesse campo se ainda tiver como add cometários.
      Usuario (jose): Precisa entrar em contato com o cliente francisco. 
      Usuario (pedro): cliente foi avisado e está sabendo.
       
      quem souber uma forma de fazer isso, ficaria muito grato.

    • By proflupin
      Estou com a seguinte dificuldade, possuo um <a> que busca uma id numa tabela do banco de dados, conforme abaixo:
       
      <a href="self_service.php?id=<?php echo $row_produto['id_categoria_chamado']?>" class="btn btn-primary"data-toggle="collapse" data-target="#subcategoria" aria-expanded="false" aria-controls="collapseExample">Visitar</a> A consulta é realizada, pois vejo que um novo link é mostrado no rodapé da página:

       
      Esta página self_service.php mostrada acima, é minha página principal, onde tudo é trabalhado. Se por exemplo eu mudar para outro arquivo php, teste.php por exemplo, uma nova página é aberta e consigo exibir os resultados normalmente.
       
      O problema é: quero abrir este ID na mesma página, dentro de um collapse. Exemplo:
       
      Cliquei em visitar na categoria Totvs...
       
       
      Um collapse abre-se logo abaixo:

       
      O que não consigo fazer é resgatar o ID passado pelo botão VISITAR em meu collapse, se eu tenter o $_GET['id'], não vai retornar nenhum valor, pois a URL não muda quando trabalhamos com collapse.
    • By DinhoPHP
      Olá!
      Alguém pode me dar uma luz sobre fazer um ORDER BY, hora ASC ou hora DESC? Por favor! Estou utilizando PHP e JS no projeto.
       
      $pegadados = $pdo->prepare("SELECT * FROM produtos WHERE categoria LIKE '%$dataSearch%' OR marca LIKE '%$dataSearch%' OR produto LIKE '%$dataSearch%' OR modelo LIKE '%$dataSearch%' OR descricao LIKE '%$dataSearch%' ORDER BY $filter $filter2");
×

Important Information

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