2017-02-24 4 views
-2

PHPMailerを使用して、新しいファイルがアップロードされたという通知のように電子メールを送信しています。 phpmailerのは、HTML形式の電子メールを作成するために、次のようになります。PHPMailer - アップロードされたすべてのファイルを印刷

$mail->Body = 'Hi!<br/>' 
. '<br/>These files has been uploaded:<br/><br/>' 
. '<b> ' . for($i = 0; $i < count($data['data']['metas']); $i++){$file = $data['data']['metas'][$i]["name"]; echo $file <br />;} . '<br/>' 

これがすべてでは動作しません、と私は何とか理由を理解しています。しかし、アップロードされたファイルを電子メールでプレーンテキストで送信することはできません。

このコードだけでは、PHPでは完全に動作しますが、PHPMailerから送信されるHTML電子メールには含まれません。

for($i = 0; $i < count($data['data']['metas']); $i++){$file = $data['data']['metas'][$i]["name"]; echo $file <br />;} 

どのようにこの問題を解決するためのアイデアがあるので、アップロードされたすべてのファイルを電子メールで送信できますか?

メールでファイルを送信する方法
+0

あなたは「echo」の仕組みを誤解しています – MrDarkLynx

+0

$ mail-> AddAttachment( 'images/phpmailer.gif'); –

+0

@MrDarkLynx私はメールにアップロードされたすべてのファイル名を印刷しようとしています。 – zorensen

答えて

0

問題は、あなたの$mail->Body文字列を形成している方法です。以下を試してください。

$mail->Body = 'Hi!<br/><br/>These files has been uploaded:<br/><br/>'; 
for($i = 0; $i < count($data['data']['metas']); $i++) { 
    $mail->Body .= $data['data']['metas'][$i]["name"] . '</br>'; 
} 
+0

素晴らしいヒント!それは私のためにそれを行い、完璧に動作します。助けてくれてありがとう!これはまさに私が探していたものでした:-) – zorensen

0

require_once '../class.phpmailer.php'; 
error_reporting(E_ERROR & ~E_NOTICE | E_STRICT);  
$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch 

try { 
    $mail->AddReplyTo('[email protected]', 'First Last'); 
    $mail->AddAddress('[email protected]', 'John Doe'); 
    $mail->SetFrom('[email protected]', 'First Last'); 
    $mail->AddReplyTo('[email protected]', 'First Last'); 
    $mail->Subject = 'PHPMailer Test Subject via mail(), advanced'; 
    $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically 
    $mail->MsgHTML(file_get_contents('contents.html')); 
    // Add files 
    $mail->AddAttachment('images/phpmailer.gif');  // attachment 
    $mail->AddAttachment('images/phpmailer_mini.gif'); // attachment 
    $mail->Send(); 
    echo "Message Sent OK<p></p>\n"; 
} catch (phpmailerException $e) { 
    echo $e->errorMessage(); //Pretty error messages from PHPMailer 
} catch (Exception $e) { 
    echo $e->getMessage(); //Boring error messages from anything else! 
} 
+0

添付ファイルの送信を探していません。電子メールにプレーンテキストでアップロードされたすべてのファイル名を印刷するだけです。 – zorensen

関連する問題