Android使用Base64图像发送邮件

时间:2015-07-01 10:58:17

标签: php android email

我正在尝试使用智能手机发送带有相机拍摄图像的电子邮件。到目前为止,它变得很棒。我正在从设备向托管的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);

目前我得到的是这样的:

也许我使用错误的技术来解决这个问题,欢迎任何帮助:-)

1 个答案:

答案 0 :(得分:1)

对于想知道我如何解决它的人:

我将带有AsyncTask的Base64映像发送到我的PHP脚本,该脚本将字符串解码为图像,然后将其存储在服务器上,并将其命名为时间戳。之后,我获得了正确的图像,并使用PHPMailer将它们作为附件添加到邮件中。然后我发送电子邮件,我将邮件作为附件邮寄。希望它可以帮助一些人!