1

ユーザーがサポート リクエストを送信できるフォームがあります。このフォームでは、添付ファイル (jpeg/pdf など) を送信することもできます。

フォームが送信されると、リクエストの概要を説明する確認メールがユーザーに送信されますが、別のメールが basecamp (プロジェクト管理ソフトウェア) に送信され、そこでこのリクエストがログに記録されます。

ベースキャンプのメールは 2 つの部分に分かれている必要があります。コンテンツは 1 つのメールに送られ、添付ファイルは別のメールに送られます。

次のようなもの (単なる基本的な例):

$email_A = "project1@live.com";
$subject_A = "Todo:";
$message_A = "* Milk
              * Bread";

$email_B = "project-image@live.com";
$subject_B = "Files";
$message_B = "";

mail($email_A, $subject_A, $message_A);
mail($email_B, $subject_B, $message_B);

ユーザーがフォームでアップロードしたファイルを上記のメッセージ ($message_B) に添付して、メールで basecamp に送信するにはどうすればよいですか? メールでファイルを添付するには、件名を「ファイル」と入力し、メールの本文に添付ファイルを挿入するだけです。

4

1 に答える 1

1

そんなに欲しいなら…

$boundary = md5(uniqid(rand()));
$headers = "From: webmaster@site.com\r\n"
    ."Mime: 1.0\r\n"
    ."Content-Type: multipart/mixed;boundary=\"".$boundary."\"\r\n";

$body = "--".$boundary."\r\n"
    ."Content-Type: text/html;charset=\"UTF8\"\r\n"
    ."Content-Transfer-Encoding: base64\r\n\r\n"
    .chunk_split(base64_encode($text))."\r\n\r\n"
    // second part of mail - attachment
    ."--".$boundary."\r\n"
    ."Content-Type: image/jpeg\r\n"
    ."Content-Transfer-Encoding: base64\r\n"
    ."Content-Description: imageXXX.jpg\r\n"
    ."Content-Disposition: attachment; filename=\"imageXXX.jpg\"\r\n"
    .chunk_split(base64_encode(file_get_contents('http://images6.fanpop.com/image/photos/34600000/Beautiful-Red-Roses-roses-34610966-1920-1080.jpg')))."\r\n\r\n"
    ."--".$boundary."--\r\n";

mail($to, $subj, $body, $headers);  

あなたは私の主張を理解すると思います。

于 2013-10-25T13:51:45.080 に答える