2012-05-07 11 views
0

これでファイルをアップロードする最も簡単な方法は:<input type="file" name="clanlogo">と私は "[email protected]"に電子メールを送っています。私は調査しましたが、非常に複雑なコードやものが見つかりました。私は添付ファイルとして送信する必要があります。 PHPで。ここに私は今まで持っているコードです:ファイルをアップロードしてPHPで電子メールで送信しますか?

<?php 

## CONFIG ## 

# LIST EMAIL ADDRESS 
$recipient = "my email Here"; 

# SUBJECT (Contact Form/Remove) 
$subject = "Volunteer Form"; 

# RESULT PAGE 
$location = "thank_you.html"; 

## FORM VALUES ## 

# SENDER 
$email = $_REQUEST['email'] ; 

# MAIL BODY 
$body .= "First Name: ".$_REQUEST['first_name']." \n"; 

$body .= "Last Name: ".$_REQUEST['last_name']." \n"; 

$body .= "Email: ".$_REQUEST['email']." \n"; 

$body .= "Volunteer Choice: ".$_REQUEST['dropdown']." \n"; 

$body .= "Questions: ".$_REQUEST['comments']." \n"; 
# add more fields here if required 

## SEND MESSGAE ## 

私はファイルをアップロードすることができますそれに追加するためのコードが必要です。

+0

はその後聞いて、いくつかのコードを記述します。他人があなたのためにそれを書くことを期待しないでください。 –

+0

申し訳ありませんが、私は新しい部分を追加したと思っています。少し待ってください。 –

+0

PHPMailerまたはSwiftmailerを使って実際のメーリング部分を行います。独自のMIMEメールを作成するのは苦労し、エラーが起こりやすいです。 –

答えて

0

ダウンロードPHPMailerクラスとこれを試して...

<html> 
<head> 
<title>PHPMailer - Mail() basic test</title> 
</head> 
<body> 

<?php 

require_once('class.phpmailer.php'); 

$mail = new PHPMailer();  
$mail->SetFrom('[email protected]', 'First Last'); 
$mail->AddReplyTo("[email protected]","First Last"); 

$address = "[email protected]"; 
$mail->AddAddress($address, "John Doe"); 

$mail->Subject = "PHPMailer Test Subject via mail()"; 

$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional 

$mail->MsgHTML($body); 

move_uploaded_file($_FILES["file"]["tmp_name"],$destination); 

$mail->AddAttachment("$destination"); //Your attachment 
//$mail->AddAttachment("images/phpmailer.gif");  // attachment 
//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment 

if(!$mail->Send()) { 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
    echo "Message sent!"; 
} 

?> 

</body> 
</html> 
  • これは一例で
1

HTMLフォームを使用してタグ<input type="file" name="uploaded">を追加し、あなたがそうのようにPHPでファイルを扱うことができます。

<?php 

$file = $_FILES['uploaded']; 
if (move_uploaded_file($file['tmp_name'], $destination)) { 
// do something 
} 
// do something 

?> 

私は巨大なコードを書くことができない、これはあなたがするためにプッシュする必要があります始める!ここには簡単なguideがあります。これを添付するには、これをサーバーへのajax要求として行い、ファイルのパスを保存してから、電子メールを送信するときにデータベースからパスを再度抽出します。困ったときphpmailerのクラスから

+0

これは穴のもののためにこれは動作しますか? $ attachment = chunk_split(base64_encode(file_get_contents($ _ FILES ['file'] ['tmp_name']))); $ filename = $ _FILES ['file'] ['name']; –

+0

もちろん.. –

関連する問題