2

ユーザーがフォームを送信したときに送信される基本的な電子メールを設定しようとしています (電子メールアドレスを含む詳細を入力すると、その電子メールアドレスに感謝の電子メールが送信されます)。これはあるページで機能していますが、別のページで実装しようとすると、入力したユーザーの電子メール アドレスを取得できないようです。私は非常に基本的な PHP に慣れていて、それが機能していないように見えるページは、私が慣れているものよりもはるかに複雑です。

電子メールを $uEmail に送信するように指示する必要があるように思えますが、そうすると、電子メールは送信されません。この正確なコードは、別のより基本的な PHP ページで機能しますが、これを機能させるために必要なページは、私よりも経験豊富な人によって作成されています。

この件についてお役に立てれば幸いです。

  <form method="post" action="<?php echo $this->url('/clients/register', 'do_register')?>" class="clearfix">

        <?php  if ($displayUserName) { ?>
            <div>
            <?php echo $form->label('uName', t('Username') )?>
            <?php echo $form->text('uName')?>
            </div>
            <br/>
        <?php  } ?>

        <div>
          <div>
            <?php echo $form->label('uEmail', t('Email Address') )?>
            <span class="ccm-required">*</span>
          </div>
          <?php echo $form->text('uEmail')?>
        </div>
        <br/>

        <?php

        $attribs = UserAttributeKey::getRegistrationList();

        //UserAttributeKey::getRegistrationList();

        $af = Loader::helper('form/attribute');

        foreach($attribs as $ak) {
 //                $ak = UserAttributeKey::getByHandle($akHandle);
            print $af->display($ak, $ak->isAttributeKeyRequiredOnRegister());
 //                print '<br/><br/>';
        }

        if (ENABLE_REGISTRATION_CAPTCHA) {
            print $form->label('captcha', t('Please type the letters and numbers shown in the image.'));
            //print '<br/>';
            $captcha = Loader::helper('validation/captcha');
            $captcha->display();
            ?>

            <div><?php  $captcha->showInput();?> </div>
        <?php  } ?>

        <br/>

       <!-- checkbox code -->

      <!-- end checkbox code -->

     <input type="hidden" name="sendCopy" id="sendCopy" value="true"<?php if(isset($_POST['sendCopy']) && $_POST['sendCopy'] == true) echo ' checked="checked"'; ?> />

        <div class="ccm-button">
            <?php echo $form->submit('register', t('Register'))?>
            <?php echo $form->hidden('rcID', $rcID); ?>
        </div>

    </form>
    <?php  } ?>

   <?php 
   if (mysql_affected_rows()) {

   // NEW TEMP CODE
   //if (isset($error) && $error != '') { 
   //if (isset($_POST['register'])) {

    $emailTo = 'allen.hughes@hotmail.com';
    $subject='Application form submission from test.com';
    $sendCopy = trim($_POST['sendCopy']);
    $body = "Email: Hello! Thanks for applying...test***";
        $headers = 'From: Allen hughes ' . 'Reply-To: ' . $email;

    mail($uEmail, $emailTo, $subject, $body);

    if($sendCopy == true) {
        $subject = 'You applied to Allenhughes.com';
    mail($uEmail, $subject, $body);
    }
    $emailSent = true; 
   }
   else { 

  echo "Confirmation email has not been sent as email address has not been specified";

   }

   ?>
4

1 に答える 1

1

このエラーの 90% は、サーバーの構成エラーが原因です。

エラーがないかメールログを確認してください

また、メール関数が返すものを確認してください

if (mail()) {
  echo 'succesful';
}
于 2012-10-16T15:13:43.520 に答える