私はこのようなことをします:
- フォームから情報を収集します
- フォームの送信時にデータを処理する
- ユーザーにリンクを提示し、
mailto:
スキームを使用して変数を追加します。
たとえば、PHPでは次のようになります。
if(isset($_POST['send_mail']))
{
$to = $_POST['email_to'];
$subject = $_POST['email_subject'];
$body = 'This would be your defined body...';
// Now prepare the URL and present it to the user:
$url = 'mailto:'.$to.'?subject='.rawurlencode($subject).'&body='.rawurlencode($body);
echo '<a href="'.$url.'" title="Send Email Now">Send Email</a>';
// A boolean value to hide the form
// Necessary logic would need to be implemented on the page for this
$show_form = false;
}
フォームは次のようになります。
<form method="post">
<label for="select_email_to">Recipient:</label>
<select name="email_to" id="select_email_to">
<option value="someone@example.com">John Doe</option>
<option value="someone.else@example.com">Jane Doe</option>
<otion value="a.n.other@example.com">Foo Bar</otion>
</select>
<label for="input_subject">Subject</label>
<input type="text" name="subject" id="input_subject" />
<input type="submit" name="send_mail" value="Prepare Email" />
</form>
ファイルを含める必要がある場合は、フォームの送信時にサーバーにアップロードしてから、アップロードしたファイルへのリンクをメールの本文に含めます。