2017-10-15 6 views
1

이메일을 보내기 위해 phpmailer를 사용하고 있으며, 회사 로고가 사용자 로고 상단에 있도록 만들고 싶습니다. 문제는 로고가 첨부 파일로 표시되는 것입니다. Sow는 첨부하지 않고 이미지를 이메일에 삽입하는 방법을 알고 싶습니다. 당신에게PHPMailer를 통해 첨부하지 않고 이미지 배경이있는 html 이메일을 보내는 방법은 무엇입니까?

$mail->Subject = 'Here is the subbject'; 
$mail->AddEmbeddedImage('logo.png', 'logo'); 
$mail->Body = '<html><body>'; 
$mail->Body = '<img src="cid:logo" style="width:100%"></img>'; 
$mail->Body = '<h3>Bonjour</h3>'; 
$mail->Body .='</body></html>'; 

if(!$mail->send()) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    echo 'Message has been sent'; 
} 
+1

이메일을 첨부하지 않고? 이메일 본문에 html/css로 참조하는 이미지를 호스팅하려면 웹 서버가 필요합니다. 이를 위해 전용 웹 서버에 액세스 할 수 있습니까? – IncredibleHat

+0

고마워, 아니지만 나는 또한 호스팅 된 이미지를 시도 : logo.png 대신 http://via.placeholder.com/350x150하지만 로컬 호스트에서 테스트하는 방법에 의해 첨부 파일에 로고가있어 –

답변

1

이미지에 대한 직접 링크 (안 상대 링크)를 포함해야합니다 이메일의 본문을 감사하고 그 이미지는 JPG해야한다. 예 :

<?php 
$body .= <<<EOD 
<a href='https://my-website.com'><img src='https://my-website.com/image.jpg' alt='logo'></img></a> 
EOD; 
?> 
+0

참고 : 나던해야합니다 jpg. 오늘날의 이메일 프로그램에서 png 일 수도 gif 일 수도 있습니다. html을 처리 할 수 ​​있다면 널리 지원됩니다. – IncredibleHat

+1

완벽하게 작동합니다. –

+1

랜달 (Randall)은 여전히 ​​널리 사용되고있는 Outlook 2007에는 맞지 않습니다. JPG는 렌더링하지만 PNG는 렌더링하지 않습니다. 다른 프로그램도 기능이 제한되어 있다고 가정해야하므로 크로스 플랫폼 솔루션을 통합하는 것이 좋습니다. – Steven