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

Email Com Imagens No Corpo Da Mensagem


Guest -Patrick-

Pergunta

Guest -Patrick-

Olá !

Estou utilizando o código abaixo para envio de mensagem com anexo, mas não sei como fazer para alterar o código de forma que envie a imagem no corpo da mensagem.

A imagem deve estar linkada na mensagem, sabe?

Tipo aqueles emails de propaganda que as lojas como Americanas, magazine luiza e outras, costumam mandar.

Não precisa necessariamente ser esse mesmo código, pode ser outro também.


$ConsultaMensagem = mysql_query("select * from $TableNome WHERE ativo=1 order by id desc");
$TotalLinhas = mysql_num_rows($ConsultaMensagem);
while($Linha = mysql_fetch_array($ConsultaMensagem)) {
$EmailAssunto = $AssuntoMail;
if (empty($AssuntoMail)) { $EmailAssunto = "Sem Assunto"; }
if (empty($MensagemMail)) { $MsgHtmlCorpo = "Sem Mensagem"; }
if (empty($MensagemMail)) { $MsgTxtCorpo = "Sem Mensagem"; }
$mime_list = array("html"=>"text/html","htm"=>"text/html", "txt"=>"text/plain", "rtf"=>"text/enriched","csv"=>"text/tab-separated-values","css"=>"text/css","gif"=>"image/gif");
$ABORT = FALSE;
$boundary = "XYZ-" . date(dmyhms) . "-ZYX";
require ("modelos.php");


$message = "--$boundary\n";
$message .= "Content-Transfer-Encoding: 8bits\n";
if ($FormatoMsg == Text) {
$message .= "Content-Type: text/plain; charset=\"ISO-8859-1\"\n\n";
} elseif ($FormatoMsg == Html) {
$message .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n";
}
if ($FormatoMsg == Text) {
$message .= "$MsgTextCab\n\n$MensagemMail\n\n$MsgTextRod\n\n";
} elseif ($FormatoMsg == Html) {
$MsgHtmlCorpo = str_replace("\\","", $HTTP_POST_VARS[MensagemMail]);
$message .= "$MsgHtmlCab\n\n$MsgHtmlCorpo\n\n$MsgHtmlRod\n\n";
}
$message .= "\n";

// Nome do anexo com path completo
$attachments[1] = $anexo;

// Checa se o anexo existe e codifica
foreach ($attachments as $key => $full_path) {
if ($full_path !='') {
if (file_exists($full_path)){
// Tenta abrir o arquivo
if ($fp = fopen($full_path,"rb")) {
// Pega o nome do arquivo com o path completo
$filename = array_pop(explode(chr(92),$full_path));
$contents = fread($fp,filesize($full_path));
// Codifica o arquivo
$encoded = base64_encode($contents);
// SPLIT o arquivo codificado
$encoded_split = chunk_split($encoded);
fclose($fp);
$message .= "--$boundary\n";
$message .= "Content-Type: $anexo_type\n";
$message .= "Content-Disposition: attachment; filename=\"$anexo_name\" \n";
$message .= "Content-Transfer-Encoding: base64\n\n";
$message .= "$encoded_split\n";
}
else {
echo "Cannot open file$key: $filename";
$ABORT = TRUE;
}
}
else {
echo "File$key does not exist: $filename";
$ABORT = TRUE;
}
}
}

$message .= "--$boundary--\r\n";

$headers = "MIME-Version: 1.0\n";
$headers .= "From: $TituloSite<$EmailSite>\r\n";
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";

mail($Linha[email], $EmailAssunto, $message, $headers);
[/codebox]

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Guest --Patrick--

Mas o que eu vou escrever na tag html? A imagem que eu selecionei (há um campo file para se mandar o diretório da imagem em meu computador) vai estar hospedada aonde?

<img src="??????/imagem.jpg>

:huh:

Link para o comentário
Compartilhar em outros sites

  • 0

Se há um campo file, você precisará criar a função PHP que salvará a imagem.

Depois disso, é só colocar o endereço dela no <img src= .

A função para você fazer upload é:

$file = $_POST["file"];
copy($file, "NOME_DO_DIRETORIO_ONDE_IRAO_OS_ARQUIVOS/".$file_name); 
unlink($file);

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...