0

jquery を使用して base64_image をフォームに送信し、顧客がプレビューできるようにそのページにエコーするという問題があります。そのフォームはお客様が情報を入力し、画像を再確認するためのものであるため、確認すると、入力したデータが私のメール アドレスに送信されます。ただし、画像はプレビュー セクションや電子メールにも表示できません。

base64_image は jquery を使ってデザイン画を描いているお客様です。あなたの参照のために以下のコードを見つけてください。

index.php

 $('#send-button').click(function(){
                    fpd.createImage(true, true);
                    return false;
                });

                //the handler when the image is created
                $('#fpd').bind('imageCreate', function(evt, canvas, base64Image) {
                    //send 64-bit encoded image url to php
                    $.post("php/form.php", { base64_image: base64Image }, function(data) {
                        //successful
                        if(data) {
                            //open product image a new window
                            console.log('Mail successfully sent!');
                        }
                        //failed
                        else {
                            console.log('Mail could not be sent');
                        }
                    } );
                });     





<a href="php/form.html" id="send-button" class="btn btn-info">send</a>

フォーム.php

<form name= "myForm" form action="send.php" method="post" onsubmit="return validateForm()">

 <td align="right" valign="middle" class="text">Picture Preview:<img src="<?=$base64_str;?>"></img></td>

</form>

send.php

$base64_str = substr($_POST['base64_image'], strpos($_POST['base64_image'], ",")+1);

$to =   'xxx@gmail.com';//set here your receiving mail address
$subject =  'test'; //set here the mail subject
$bound_text =   md5(date('r', time()));
$bound =    "--".$bound_text."\r\n";
$bound_last =   "--".$bound_text."--\r\n";

$headers =  "From: xxx@yahoo.com.hk\r\n";//set here the sending mail address
$headers .=     "MIME-Version: 1.0\r\n"
    ."Content-Type: multipart/mixed; boundary=\"$bound_text\"";

$message .=     "If you can see this MIME than your client doesn't accept MIME types!\r\n"
    .$bound;

$message .=     "Content-Type: text/html; charset=\"iso-8859-1\"\r\n"
    ."Content-Transfer-Encoding: 7bit\r\n\r\n"
    ."Your message goes here\r\n" //set here the mail text
    .$bound;

$message .=     "Content-Type: image/png; name=\"mail_product.png\"\r\n"
    ."Content-Transfer-Encoding: base64\r\n"
    ."Content-disposition: attachment; file=\"mail_product.png\"\r\n"
    ."\r\n"
    .chunk_split($base64_str)
    .$bound_last;

if(mail($to, $subject, $message, $headers))
{
     echo json_encode(1);
} else {
     echo json_encode(0);
}  

?>
4

1 に答える 1

0

どうしたの?電子メールを送信するか、プレビューを表示するか、またはその両方ですか?

jQuery スクリプトはデータを php ファイルに正しく送信しましたか? これをデバッグしましたか?

(データ) の戻り値は何ですか? 0、1、またはその他の値を取得しますか?

独自の smtp メール サーバーをセットアップしていますか、それとも gmail の smtp サーバーを使用していますか?

于 2013-09-05T08:03:22.887 に答える