PHP发送电子邮件,显示正文中的内容而不是附件


PHP sending email showing contents in body not as attachment

我是PHP新手。我正在尝试用PHP发送带有附件的电子邮件。但邮件在正文中加载了所有附件内容,而不是附件。。

这是我的PHPcode

if( ! ini_get('date.timezone') )
{
    date_default_timezone_set('GMT');
}
$random_hash = md5(date('r', time()));
$headers .= "'r'nContent-Type: multipart/mixed; 
boundary='"PHP-mixed-".$random_hash."'"";
// Set your file path here
$attachment = chunk_split(base64_encode(file_get_contents("images.jpg"))); 

//define the body of the message.
$message = "--PHP-mixed-$random_hash'r'n"."Content-Type: multipart/alternative; 
boundary='"PHP-alt-$random_hash'"'r'n'r'n";
$message .= "--PHP-alt-$random_hash'r'n"."Content-Type: text/plain; 
charset='"iso-8859-1'"'r'n"."Content-Transfer-Encoding: 7bit'r'n'r'n";

//Insert the html message.
$message .= $htmlbody;
$message .="'r'n'r'n--PHP-alt-$random_hash--'r'n'r'n";

//include attachment
$message .= "--PHP-mixed-$random_hash'r'n"."Content-Type: application/zip; 
name='"logo.png'"'r'n"."Content-Transfer-Encoding: 
base64'r'n"."Content-Disposition: attachment'r'n'r'n";
$message .= $attachment;
$message .= "/r/n--PHP-mixed-$random_hash--";
$retval = mail ($to,$subject,$message,$header);
   if( $retval == true )
   {
      echo "Message sent successfully...";
   }
   else
   {
      echo "Message could not be sent...";
   }

输出为:

--PHP-mixed-702d78a6f5c1602c03250f197d9c8f50
Content-Type: multipart/alternative;
boundary="PHP-alt-702d78a6f5c1602c03250f197d9c8f50"
--PHP-alt-702d78a6f5c1602c03250f197d9c8f50
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
 Your Mail Contant Here.... You can use html tags here...
--PHP-alt-702d78a6f5c1602c03250f197d9c8f50--
--PHP-mixed-702d78a6f5c1602c03250f197d9c8f50
Content-Type: application/zip;
name="logo.png"
Content-Transfer-Encoding:
base64
Content-Disposition: attachment
/9j/4AAQSkZJRgABAgEASABIAAD/4RSoRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA
AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAUAAAAcgEyAAIAAAAUAAAAhodp
AAQAAAABAAAAnAAAAMgAAABIAAAAAQAAAEgAAAABQWRvYmUgUGhvdG9zaG9wIDcuMAAyMDEzOjEx
OjA2IDE3OjA5OjMyAAAAAAOgAQADAAAAAf//AACgAgAEAAAAAQAAAVmgAwAEAAAAAQAAANAAAAAA
AAAABgEDAAMAAAABAAYAAAEaAAUAAAABAAABFgEbAAUAAAABAAABHgEoAAMAAAABAAIAAAIBAAQA
AAABAAABJgICAAQAAAABAAATegAAAAAAAABIAAAAAQAAAEgAAAAB/9j/4AAQSkZJRgABAgEASABI
AAD/7QAMQWRvYmVfQ00AAv/uAA5BZG9iZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwP
FRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQO
Dg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEI
AE0AgAMBIgACEQEDEQH/3QAEAAj/xAE/AAABBQEBAQEBAQAAAAAAAAADAAECBAUGBwgJCgsBAAEF
AQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggFAwwzAQACEQMEIRIxBUFRYRMi
cYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNUZEXCo3Q2F9JV4mXys4TD03Xj
80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3EQACAgECBAQDBAUGBwcG
BTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNTFWNzNPElBhaisoMHJjXC0kST
VKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2JzdHV2d3h5ent8f/
2gAMAwEAAhEDEQA/AO9JSlMewTEOTUskxHbunaLJBGuog9lkdB6gLXZmPbYSzHy7WUOcCP0W92xj
bXfzu23cz/glDzHMRww4pa9q/eTGJMgO7p5FLXM2W/zbo3CQJM+1irU141TbqsbGNVeOS30hX6bH
kgWTTu9lzfdt9f8AfRMrHw8va7J2C3HJsoe4tMFw2nbPvb7VWxs6kVDHOQx9oLw3c4glrTy31Ppt
2/nrn+ZzZchM53r0H6FfotuEQI0Om/8AFlZq2dhaSJjv/VVG1zi0tphzmH3btBof0gn97arGRlMa
7YXD6IO4aiDI0+5ZmV1Oiv2O3PcdIrE/5x+iqoBlLa2URPQMRbZlWOZRX6jddvhp+cXGGtQ/tWfg
OJx7Ay4H3UmDW4D81+7/AL6pU5mNWGvqdYxwO0ts2xBn85qpZuUXOkMAj8SVNiM4ZBwemuoXVxaE
CvF6bo3Wqeqh7G1upyqv5ygydBDS+p35zNzlo6+HPC80zri6t1Ty9kEB1oJY5v8Aa0XTYOfm19Ot
zMi+ypmZYx1f2pn6Ul+5mXZRXU5rmN2Mruq+hW/9J+jW3i5+oD3Rr3H6X/oTTzYOEjh2l/zXpdfE
paxKDvcGtD3gOP0TGnH530kB7MlrzcRYCxhBsb7/AGT6n0W/o/pf9cR/0phoGEZ5B/VAPD/e9XpW
ezLrQ825Mz/BNz3Kxen5eQ+ivMpYScpwFtLx7mCXN9az3Vv9n0rf+DRL7sr7U1+Tsdj1WMcw0kja
Qf0jHbf53d+5Z/22lj+J4ZUJemdmPD81f4SpYZDUajf+Qf/Q7DHZhYLCLbsvMsAJ22Wute6O1bbH
sZ/57XJ1v+sd/XIsyLsXBve+y+gvH0HS9mPVTY/0/wBDuay/dsZY9dLnYXr47MQltdDYFrnOmx4/
cDx+kZ/nqnj9E6NjWONIsdaAXMbY9zgB4MY4+5rf+EWHk5jN7cjMiNA/NHh3/vHj/wCYzHFco1rH
9LX/ANB/7pNiU5WGH5BsdZQ9ji59AIbAEtbZhWPur+0u2Mqrto/nf5pGt+3Pwr8l1FOLkvEscXje
4iPbbbc30Wf8IzajYjLMh7X2SytjGkM0gvOs7R9H0G+z+upv6L0++9+Rks+0uc5rmizhgYGhlbGt
9uz27/f+eqU+Yr0cRlEDt/0Y/oMhhwj0gXt4RH/dOb0y37fhGzLYQWugvI21v8DVqW/yXqd3T6zW
QxgcBqYaNPD2tCsdSyMjFZbZY5jmbpoYyWHX/B2fvf11zVf1nd9qLtz6n1FrqiWyHPB1p9n+DfX7
FBGM8kzKAqPXh1bOPHMwGvFTq34FN1P2h7a8b05AyGP9EyNPdWPb/wBuLnx1HAGQcc5HrNZ9O8N2
scXmGt0c7ftWh1TqfSOp4gtyaocTtexsyHt/N9v/AIEuV6jg9Nr2uL3sxC8bn1GXHd7W+pXYD/Nv
/cVvl8cZenIJg7DS/wDF/wC8WTx5NDfDEa149noPszMgWZXJ0QWxpZ24AAAAHZGVmYXVs
dAAAAAtiZ0NvbG9yVHlwZWVudW0AAAARRVNsaWNlQkdDb2xO7zabuHBEkkd/23NxZrAj2atABJ
SAfs/wBjopk28u1VNB0ku04qOv2hksdSzPLJVw1Bq5EdVeCcfuIKWJiWZyTqP9Dz7HnKd1Mu829x
unieGlAKKOAwPTy69s9vuBu2uYwIY42pXGaefA8egWq3JUlHJJF93U/wAKocYsYmd1FRK4
WwGkkPXHNt3zJOgazRoY4uK9vAf6YGpP/FdDnlE3e2bNa2JQyTAASGua4rknrPsH...

请帮我解决这个问题。

浏览了很多,虽然我是PHP新手,但无法解决我的问题

提前谢谢。。

乍一看,您的代码看起来还可以,但您有Content-Disposition: attachment

尝试Content-Disposition: inline