1

私を教育してください:)

名前、電子メール、メッセージの 3 つのフィールドで構成される単純な HTML フォームがあります。

以下に、固定メッセージと添付ファイルを含むフォームに入力された電子メール アドレスへの自動応答として機能する PHP コードをいくつか作成しました。

フォームに入力された名前、電子メール、およびメッセージのみを含む会社の固定電子メール アドレスに 2 番目の電子メールを送信したいと考えています。

<?php

  $field_fullname = $_POST['cf_mercury']; // cf_name is a convention used by the HTML form
  $field_email = $_POST['cf_jupiter'];
  $field_message = $_POST['cf_uranus'];

require_once('class.phpmailer.php');

$mail             = new PHPMailer(); // defaults to using php "mail()"

$body = $field_message;

$mail->SetFrom("company@address.co.uk", "ETAP Centre"); 

$mail->AddReplyTo("company@address.co.uk", "ETAP Centre");

$address = "email@address.co.uk";
$mail->AddAddress($field_email, $field_fullname);

$mail->Subject    = 'Auto Response: Message from the ETAP Centre';

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

$mail->MsgHTML($body);

$mail->AddAttachment("");      // attachment
$mail->AddAttachment(""); // attachment

if(!$mail->Send()) {
  { ?>
    <script language="javascript" type="text/javascript">
        alert('Message failed. Please, send your email to company@address.co.uk');
        window.location = 'index.html';
    </script>
<?php
}
} else {
  ?>
    <script language="javascript" type="text/javascript">
        alert('Thank you for contacting the ETAP Centre. We will contact you shortly.');
        window.location = 'index.html';
    </script>
<?php
}
?>

すべての助けをいただければ幸いです。質問を明確にし、理解を深めるために何かできることがあれば、お知らせください。ありがとうございました!

4

3 に答える 3

1

$mail2 番目の電子メールの変数を に変更し$mail2て追加することで、答えが得られましたmail2 = clone $mail;。これにより、ユーザーは、オプションの添付ファイルを含む 2 つの電子メールを完全に制御できるだけでなく、いずれかの電子メールでフォームによってキャプチャされた変数を使用することもできます。ご協力いただきありがとうございます!:)

<?php

      $field_fullname = $_POST['cf_mercury']; // cf_name is a convention used by the HTML form
      $field_email = $_POST['cf_jupiter'];
      $field_message = $_POST['cf_uranus'];

    require_once('class.phpmailer.php');

    // E-Mail to Client

    $mail             = new PHPMailer(); // defaults to using php "mail()"

    $body = "Thank you for contacting the whoever";

    $mail->SetFrom('company@address.co.uk', 'Enter Sender Name'); 

    $mail->AddReplyTo('company@address.co.uk', 'Enter Sender Name');

    $address = $field_email;
    $mail->AddAddress($address, $field_fullname);

    $mail->Subject    = 'Auto-Response: Thank you for contacting the ETAP Centre, '.$field_fullname;

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

    $mail->MsgHTML($body);

    $mail->AddAttachment("");      // attachment
    $mail->AddAttachment(""); // attachment

    $sent = $mail->Send();


    // E-Mail to Company

    $mail2 = clone $mail;

    $mail2             = new PHPMailer(); // defaults to using php "mail()"

    $body = $field_message;

    $mail2->SetFrom($field_email, $field_fullname); 

    $mail2->AddReplyTo($field_email, $field_fullname);

    $address = "company@address.co.uk";
    $mail2->AddAddress($address, "Enter Recipient Name");

    $mail2->Subject    = 'Message via the NAME website from '.$field_fullname;

    $mail2->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

    $mail2->MsgHTML($body);

    $mail2->AddAttachment(""); // attachment - leave incase they are needed in the future
    $mail2->AddAttachment(""); // attachment

    $sent = $mail2->Send();

    if($mail_status) {
      { ?>
<script language="javascript" type="text/javascript">
            alert('fail');
            window.location = 'index.html';
        </script>
<?php
    }
    } else {
      ?>
<script language="javascript" type="text/javascript">
            alert('success');
            window.location = 'index.html';
        </script>
<?php
    }
    ?>
于 2013-04-23T08:40:19.007 に答える
1

if ステートメント$mail = new PHPMailer(); // defaults to using php "mail()"の前に、受信者として会社の電子メール アドレスで始まるブロックを繰り返すだけです。Message Failed送信したいフィールド (つまり、名前、電子メール、メッセージ) を含めるだけです。

BCCまたは、必要に応じて、会社の電子メールアドレスを電子メールに追加して、同じ電子メールのコピーを送信することもできます。$mail->AddBCC

于 2013-04-22T15:19:57.937 に答える