thegadgitman Posted January 31, 2010 Share Posted January 31, 2010 Hi i am new to PHP scripts but am learning fast. I have apache, PHP and pear installed and am trying to send an email with a .jpg file attatched. I have just about managed to do this with a lot of searching on the net. HOWEVER, the receiving mail does not display the picture, (example@yahoo.com) it displays a blank thumbnail. If I send the same message, from the same email to the same email from outlook the receiving mail displays the picture as a thumbnail. WHY IS THIS HAPPENING ??? Can anyone solve this problem. Here is the code I found to use. THANK YOU. Using Pear mail.php and mime.php <?php require_once "c:/php/pear/mail/Mail.php"; // PEAR Mail package require_once ('c:/php/pear/mime/mime.php'); // PEAR Mail_Mime packge $from = "info@*******.com"; $to = "example@yahoo.com"; $subject = 'Picture from info@******.com'; $headers = array ('From' => $from,'To' => $to, 'Subject' => $subject); $text = 'Text version of email';// text and html versions of email. //$html = '<html><body>HTML version of email. <strong>This should be bold</strong></body></html>'; $file = 'C:/pics/testpic1.jpg'; // attachment $crlf = "\n"; $mime = new Mail_mime($crlf); $mime->setTXTBody($text); $mime->setHTMLBody($html); $mime->addAttachment($file, 'text/plain'); //do not ever try to call these lines in reverse order $body = $mime->get(); $headers = $mime->headers($headers); //Smtp email authentication $host = "mail.*******.com"; $username = "info@*******.com"; $password = "**********"; $smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username,'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo("<p>" . $mail->getMessage() . "</p>"); } else { echo("<p>Message successfully sent!</p>"); } ?> Quote Link to comment https://forums.phpfreaks.com/topic/190457-sending-an-email-from-local-host-with-file-atachment-help-needed/ Share on other sites More sharing options...
premiso Posted January 31, 2010 Share Posted January 31, 2010 Yahoo probably has filters to filter out images from unknown emails. Add the sender you are using to your safelist and see if it displays it. Quote Link to comment https://forums.phpfreaks.com/topic/190457-sending-an-email-from-local-host-with-file-atachment-help-needed/#findComment-1004638 Share on other sites More sharing options...
thegadgitman Posted January 31, 2010 Author Share Posted January 31, 2010 Thanks for that. No is not that. If i send from email1@*****.com to email2@yahoo.com via the PHP code then no picture is displayed, it is a blank thumbnail. but the image can be downlaoded. If i send from email1@*****.com to email2@yahoo.com via outlook, then the picture is displayed in the receiving mail. Confusing the H*** out of me. Quote Link to comment https://forums.phpfreaks.com/topic/190457-sending-an-email-from-local-host-with-file-atachment-help-needed/#findComment-1004643 Share on other sites More sharing options...
thegadgitman Posted February 1, 2010 Author Share Posted February 1, 2010 SOLVED. Just changed 1 line and photos are now being displayed $mime->addAttachment($file, 'image/jpeg'); Quote Link to comment https://forums.phpfreaks.com/topic/190457-sending-an-email-from-local-host-with-file-atachment-help-needed/#findComment-1005078 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.