Jump to content

Envio de mail com anexo(imagem)


GpL
 Share

Recommended Posts

Bem, pessoal, estou aqui com um problema, tenho aqui um script para enviar email, muito simples e já andei a pesquisar como é que se põe anexos mas ainda não consegui por isso a funcar.. vou deixar aqui o script para o envio de mail que eu tenho a ver se me dão ideias de como por aqui um anexo.. o que eu queria era que o user fizesse browse, escolhesse uma imagem, e ela fosse anexada qd ele enviasse o mail..

<?php

if(isset($_POST['submit'])) 
{ 

$to = 'teste@hotmail.com';
$subject = 'Candidatura a staff ';
$message = $_POST['texto'];
$nome = $_POST['nome'];
$morada = $_POST['morada'];
$mail=$_POST['email'];
$tlmv = $_POST['tel'];
$headers = "From: ".$mail;
$mensagem="Nome: ".$nome."\n\r"."Morada: ".$morada."\n\r"."Telemovel: ".$tlmv."\n\r".$message;


mail("$to", "$subject", $mensagem, "From: $mail");
echo "Candidatura efectuada com sucesso, aguarde o nosso contacto!";

}
?>

Fico à espera da ajuda..

já agora cumprimentos para os sobreviventes dos tempos em que o PAP começou  😛

APARTE: Usa Geshi, para o post ficar mais legível. 🙂

Link to comment
Share on other sites

Anexar imagens (ou outro tipo de ficheiros) involve criar uma série de headers específicos, e um pouco de magia negra.

O mais rápido/simples/saúdavel seria usares uma biblioteca para envio de emails, recomendo a swiftMailer, que te permita fazer isso e muito mais com razoavelmente poucas linhas de código.

"Pensa positivo: tudo pode piorar"

Link to comment
Share on other sites

Boas. Estou a usar o swiftmailer como aconselhado e gerei o seguinte codigo..

<?php

require_once('/lib/swift_required.php');

$smtp = Swift_SmtpTransport::newInstance('localhost', 25)
  ->setUsername(' ... ')
  ->setPassword(' ... ');

$mailer = Swift_Mailer::newInstance($smtp);

$message = Swift_Message::newInstance('CANDIDATO A STAFF');
$message
  ->setTo(array(
    'luis_bracara@hotmail.com',
    'user2@example.org' => 'User Two',
    'user3@exmaple.org' => 'Another User Name'
  ))
  ->setFrom(array('your@address.com' => 'Your Name'))
  ->attach(Swift_Attachment::fromPath('img2.jpg'))
  ->setBody(
    'Here is an image <img src="' . $message->embed(Swift_Image::fromPath('img2.jpg')) . '" />','text/html')
  ->addPart('This is the alternative part', 'text/plain')
  ;

if ($mailer->send($message))
{
  echo "Message sent!";
}
else
{
  echo "Message could not be sent.";
}
?>

O que acontece é que eu tenho o windows 7 que segundo andei a pesquisar não tem server smtp ou algo do género, logo ja tinha aqui instalado um software que é o smtp4dev, só que isto abre me os mails que envio por smtp em .TXT e não consigo ver se a estrutura do mail esta boa, se o anexo realmente lá está, etc.. alguém aconselha outro software para smtp diferente ? ou outra alternativa ?

Desde já obrigado 😉

Cumprimentos,

Luis Macedo

Link to comment
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
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.