我正在尝试使用智能手机发送带有相机拍摄图像的电子邮件。到目前为止,它变得很棒。我正在从设备向托管的php脚本发送一个帖子请求,其中Base64字符串作为发布数据,表示用户拍摄的照片。虽然,当我尝试邮寄图像时,它似乎并没有真正解决,因为我得到的是纯字符串而不是图像。什么是最好的解决方法,并在我的邮件中获取图像而不是2mb的平面文本? ;)
这是我的php脚本:
$to = "secret@gmail.com";
$subject = "New bug report request!";
$pic1 = $_POST["pic1"];
$headers = "From: info@blablabla.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = "
<html>
<head>
<title>New bug report request!</title>
</head>
<body>
<h1>New bug report request!</h1>
<hr>
<p>Name: asdfdasf<br>
Email: asdfasdf>
Website URL:asdfasdf<br>
Description: asdfasdf<br>
<img src=\"data:image/png;base64,$pic1\"/>
</p>
</body>
</html>
";
mail($to,$subject,$message,$headers);
目前我得到的是这样的:
也许我使用错误的技术来解决这个问题,欢迎任何帮助:-)
答案 0 :(得分:1)
对于想知道我如何解决它的人:
我将带有AsyncTask的Base64映像发送到我的PHP脚本,该脚本将字符串解码为图像,然后将其存储在服务器上,并将其命名为时间戳。之后,我获得了正确的图像,并使用PHPMailer将它们作为附件添加到邮件中。然后我发送电子邮件,我将邮件作为附件邮寄。希望它可以帮助一些人!