0

電子メールが自動生成された添付ファイル (.txt) と共に送信されるお問い合わせフォームを作成したいと考えています。添付ファイルには、連絡先フォームにある入力フィールドのすべての値を含める必要があります (空かどうかに関係なく)。これは、PHP の mail() を使用して実行できますか? 私のコードは、連絡先フォームの内容のみをメール本文として送信できるようになりました。

<?php
define("WEBMASTER_EMAIL", 'info@email.com'); 
error_reporting (E_ALL); 


if(!empty($_POST))
{
$_POST = array_map('trim', $_POST); 
$name = htmlspecialchars($_POST['name']);
$email = $_POST['email'];
$subject = htmlspecialchars($_POST['subject']);
$message = htmlspecialchars($_POST['message']);

$error = array();


if(empty($name))
{

$error[] = 'Please enter your name';

}


if(empty($email))
{

$error[] = 'Please enter your e-mail';


}

 elseif(!filter_var($email, FILTER_VALIDATE_EMAIL))
{ 

$error[] = 'e-mail is incorrect';

}


if(empty($message) || empty($message{15})) 
{

$error[] = "Please enter message more than 15 characters";

}

if(empty($error))
{  

$body = '
<html>
<head>
<title></title>
</head>
<body>
<table>
<tr><td>Name: </td><td>&nbsp;</td><td>'.$name.'</td><tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>Email: </td><td>&nbsp;</td><td>'.$email.'</td><tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>Subject: </td><td>&nbsp;</td><td>'.$subject.'</td><tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>Message: </td><td>&nbsp;</td><td>'.stripslashes($message).'</td><tr>
</table>
</body>
</html>
';


$mail = mail(WEBMASTER_EMAIL, 'Message sent from website', $body,
    "MIME-Version: 1.0" . "\r\n"
."Content-type: text/html; charset=UTF-8" . "\r\n"
."From: ".$email." \r\n"
    ."Reply-To: ".$email."\r\n"
    ."X-Mailer: PHP/" . phpversion());

if($mail)
{
echo 'OK';
}

}
else
{
echo '<div class="notification_error">'.implode('<br />', $error).'</div>'; 
}
}  
?>
4

1 に答える 1

0

フォームの値を使用してファイルを生成するには、このを参照してください。

テキストと添付ファイルを含む php mail() を使用して電子メールを送信する場合は、ヘッダーを少しいじる必要があります。Content-Type: multipart/mixed;ヘッダーに追加します。を参照してください。

于 2012-10-17T08:48:15.680 に答える