2017-06-22 13 views
0

pdfを生成して、生成したpdfを添付のメールIDに添付して送信することができます。しかし、私は電子メールをクリックするとpdfを生成し、To、Message、Subject ...などのユーザー入力フィールドを持つフォームを開く必要があります。そして、生成されたpdfは添付ファイルとして表示されます。添付pdfを作成してphpmailerに送ってください

Now電子メールをクリックすると、ユーザー入力フォームが開き、送信をクリックするとpdfが生成され、pdfが送信されます。ここで

は、ユーザーが書き込むことができるように、私は、添付のPDFでフォームを取得する方法を取得していないです私のコード

私のHTMLフォーム

<form method="post" action="send_mail.php" enctype="multipart/form-data"> 
<div class="formSep"> 
<label class="req">To Email: </label> 
<input type="text" name="email" /> &nbsp;&nbsp;&nbsp;&nbsp; <select name="email"><option value="">Select one</option><?php $s1 = mysql_query("select * from lead_contact where company_id=".$company.""); 
while($r1 = mysql_fetch_array($s1)) { $name = $r1['firstname'].' '.$r1['lastname']; 
$cid = $r1['con_id']; 
$cemail = $r1['email']; ?> 
<option value="<?php echo $cemail;?>"><?php echo $name;?></option> 
<?php 
} 
?> 
</select> 
</div> 
<input type="hidden" name="order_id" value="<?php echo $order_id; ?>" /> 
<input type="hidden" name="company" value="<?php echo $company; ?>" /> 

<div class="formSep"> 
<label class="req">Subject</label> 
<input type="text" name="subject" /></div> 

<div class="formSep"> 
<label class="req"> Message</label> 


<div class="w-box" id="n_wysiwg"> 
<div class="w-box-header"> 
<h4>WYSIWG Editor</h4> 
</div> 
<div class="w-box-content cnt_no_pad"> 
<textarea name="message" id="wysiwg_editor" cols="30" rows="10"></textarea> 
</div> 
</div> 
</div> 


<div class="formSep"> 

<input type="submit" name="submit" value="Submit" class="btn btn-info" /></div> 

</form> 

send_email.php

<?php 
if($_POST['submit'] == "Submit") 
{ 

    $id = $_POST['order_id']; 
    $company = $_POST['company']; 
    include("../admin_auth.php"); 


include("../connect.php"); 
require('invoice.php'); 

$pdf = new PDF_Invoice('P', 'mm', 'A4'); 
$pdf->AddPage(); 


//MY PDF CODE GOES HERE 

$pdf->Output("D:/wamp/www/folder/uploads/".$id.".pdf","F"); 

$path = "D:/wamp/www/folder/uploads/".$id.".pdf"; 
require("class.phpmailer.php"); 
require("class.smtp.php"); 



$to = $_POST['email']; 
$from = $_SESSION['email']; 
$message = $_POST['message']; 

$subject = $_POST['subject']; 

$mail = new PHPMailer(); 
$mail->IsSMTP(); 
$mail->Mailer = "smtp"; 
$mail->Host = "hostname"; 

$mail->SMTPAuth = true; 
$mail->Username = 'user'; 
$mail->Password = 'password'; 
$mail->Port = 587; 
$mail->From=$_SESSION['email']; 
$mail->FromName=$_SESSION['name']; 
$mail->Sender=$email; 


$mail->AddAddress($to); 



$mail->AddBCC("[email protected]"); 
$mail->AddAttachment($path, '', $encoding = 'base64', $type = 'application/pdf'); 
$mail->Subject = $subject; 

$mail->CharSet="windows-1251"; 
$mail->CharSet="utf-8"; 

$mail->IsHTML(true); 


$mail->Body = $message; 


if(!$mail->Send()) 
{ 
echo "Error sending: " . $mail->ErrorInfo;; 
} 
else 
{ 
echo "Email Sent!"; 
} 
} 
?> 

です本文にCCを追加してメールを送信

答えて

0

お試しください..

$path = "D:/wamp/www/folder/uploads/".$id.".pdf"; 

$mail->addCC('[email protected]'); //Cc stands for carbon copy 
$mail->addBCC('[email protected]'); //Bcc stands for blind carbon copy 

$mail->AddAttachment($path, '', $encoding = 'base64', $type = 'application/pdf'); 

注:PHP MAILERの参考のために

チェックこの:アドレスは Ccの後に表示され、そのことを意味カーボンコピーの略https://github.com/PHPMailer/PHPMailer

Ccと:ヘッダーはメッセージのコピーを受信します。また、Cc ヘッダーは、受信したメッセージのヘッダー内にも表示されます。このフィールドで指定された受信者のメールアドレスが 受信したメッセージのヘッダおよびTo またはCcとの受信者に表示されないことを除いて Ccのと同様であるブラインドカーボンコピーの略

のBccフィールドは、これらのアドレスにコピーが送信されたことを知らせません。

+0

私は、あなたが探しているものがまったく得られていないと思います!電子メールをクリックすると、pdfが生成され、htmlエディタがpdf付きで開く必要があります。そのユーザでは、書いたりCCなどにすることができるはずです。彼は – user3368088

+0

を送信します。次に、そのフォームのコードを最初に書かなければなりません。 .. Open ... ... PHPで、電子メールボタンを発行する場合、同じコードを書く必要があります。 –

+0

フォームが開かれていますが、pdfが添付されていません。私の質問はすべて約 – user3368088

0

PHPの基本的な構文を正しく理解すれば、本当に役立ちます。これはただ無意味です:

$mail->AddAttachment($path, '', $encoding = 'base64', $type = 'application/pdf'); 

必要なのはこれです:

$mail->AddAttachment($path); 

それはあなたのための残りの世話をします。