0

アイデアは、ユーザーが画面上で div ブロックを配置 (ドラッグ アンド ドロップ) できることです。ユーザーがポジションが良いと思ったら、フォームから自分の名前と電子メールでポジションをメールで送信できます。

<form action="#">       
<input name="name" id="name">        
<input name="email" id="email">       
<input name="htmlcontent" id="htmlcontent">        
<p><button type="submit">Send to DKdL</button></p>
</form>

フォームは手書きで記入されます。完全なソース コードが貼り付けられるフィールドを除いて (jquery を介して - ここでもフィルター処理されます)。これが、後ですべての div ブロックがどの位置にあったかを知る方法です。これはjquery post経由で送信されます。

$('form').on('submit', function(e) {

var html = $('html').html();
var htmlSending = '<html>' + html + '</html>';
var noScript = htmlSending.replace(/script/g, "h6");

//alert(noScript);
$('input#htmlcontent').val(noScript);

$.post('http://www.address/save.php', $(this).serialize(), function(data) {
    //callback to use for thank you message
    console.log(data);
});

e.preventDefault();
});

PHP では、3 番目のフィールド (コピーおよびフィルター処理された html ソース コードを含む) を .html ファイルとして保存し、その背後に名前と日付を付けて (例: peter_01-09-2012.html)、電子メールに次のように含めます。私に送られる添付ファイル。

<?php

$name = name;
$email = email;
$htmlcontent = htmlcontent;
//file_put_contents('file.html', '$htmlcontent'); 

$to = '"My Email <my.email@mail.com>';
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

$message =
<p>Name: $name</p>
<p>E-Mail: $email</p>
here should be a url to the HTML Content: $htmlcontent
or a real email attachment
;   
?>

これは達成可能ですか?残念ながら、私の知識はphpに達していません。ファイルへの書き込みが可能であることを知っているだけです。しかし、それをメールに添付ファイルとして含めるようにphpに指示するにはどうすればよいですか? 私の問題に対するより良い代替案があれば、もちろんそれも聞きたいです。

4

1 に答える 1

0

PHPmail()は実際には生の電子メール コンテンツを送信するための単純な「プロキシ」であるため、次の 2 つのオプションがあります。

  1. 添付ファイル付きのメール メッセージを作成できる、PHP 用のより機能的なパッケージを使用します (PEAR Mail_Mime など)。

  2. マルチパート メール コンテンツがどのように構築されるかを学びます。このシナリオでは非常に単純なので (そして 、 などContent-typeの用語のみが含まれContent-dispositionます)、ここでそれをお勧めします。

最も簡単なのは例で学ぶことです。そのため、電子メール クライアントで簡単なメール メッセージ (添付ファイル付き) を取得し、このメッセージのソースを表示してください。このソースを、PHP のmail()関数に送信するデータのテンプレートとして使用することもできます。

于 2012-08-31T21:43:47.383 に答える