0

我正在使用 wamp 服务器,并且在将表单值发送到电子邮件之前,我已经使用过这个 php 脚本。它之前工作得很好!我找不到我对代码所做的事情,或者可能是我的 wamp 服务器受到了惊吓,因为它不再发送并且我收到错误消息:发送您的消息时出现问题。

代码:

// Create the form
$contactForm = new JFormer('contactForm', array(
    'submitButtonText' => 'Send Message',
));

// Add components to the form
$contactForm->addJFormComponentArray(array(
    new JFormComponentSingleLineText('artistname', 'Artist Name:', array(
         'validationOptions' => array('required'),
        'tip' => '<p>Enter your artist name.</p>'
    )),
    new JFormComponentSingleLineText('trackname', 'Track Name:', array(
        'tip' => '<p>Enter your track name.</p>',
         'validationOptions' => array('required'),
    )),
    new JFormComponentSingleLineText('email', 'E-mail Address:', array(
        'tip' => '<p>Enter your email address.</p>',
         'validationOptions' => array('required'),
    )),
    new JFormComponentSingleLineText('stream', 'Link to Stream:</br>(if applicable)', array(
        'tip' => '<p>Enter your link to stream.</p>'
    )),
    new JFormComponentSingleLineText('download', 'Download Link:', array(
        'tip' => '<p>Enter your download link.</p>',
         'validationOptions' => array('required'),
    )), 

    new JFormComponentMultipleChoice('multipleChoiceType', 'Full Track or Clip:',
    array(
        array('label' => 'Full Track', 'value' => 'fulltrack'),
        array('label' => 'Clip', 'value' => 'clip'),
    ),
    array(
        'multipleChoiceType' => 'radio',
    )),
    new JFormComponentSingleLineText('downloadorpurchase', 'Free Download or 
    Purchase Link</br>(To be included in video description)', array(
        'tip' => '<p>Enter your link.</p>',
    )),
    new JFormComponentSingleLineText('releasedate', 'Release Date:</br>(if applicable)', array(
        'tip' => '<p>Enter the release date.</p>',
    )),
    new JFormComponentTextArea('artistandlabel', 'Artist / Label Links:</br>(To be included in description.)', array(
        'validationOptions' => array('required'),
        'tip' => '<p>Enter your description.</p>',
    )),
    new JFormComponentMultipleChoice('iagree', 'I confirm that I own full 
    copyright rights and grant the THU Records to post my music in their videos. I 
    understand that content may be monetized with adverts.',
    array(
        array('label' => 'I Accept', 'value' => 'accepted'),
        array('label' => 'I Do Not Accept', 'value' => 'dontaccepted'),
    ),
    array(
        'iagree' => 'radio',
         'validationOptions' => array('required'),
    )),
));



// Set the function for a successful form submission
function onSubmit($formValues) {

    // Concatenate the name
    if(!empty($formValues->name->middleInitial)) {
        $name = $formValues->name->firstName . ' ' . $formValues->name->middleInitial . ' ' . $formValues->name->lastName;
    }
    else {
        $name = $formValues->name->firstName . ' ' . $formValues->name->lastName;
    }
    // Prepare the variables for sending the mail
    $to = 'lill_z4ck3@hotmail.com';
    $fromAddress = $formValues->email;
    $trackName = $formValues->trackname;
    $streamLink = $formValues->stream;
    $download = $formValues->download;
    $trackorclip = $formValues->multipleChoiceType;
    $downloadOrPurchase = $formValues->downloadorpurchase;
    $releaseDate = $formValues->releasedate;
    $artistAndLabel = $formValues->artistandlabel;
    $agreement = $formValues->iagree;
    $artistName = $formValues->artistname;
    $subject = "Submit from ".$formValues->artistname;
    $message = "Artist Name : ".$artistName."\nTrack Name : ".$trackName."\n
     Email : ".$fromAddress."\n Stream Link : ".$streamLink."\nDownload link 
     : ".$download."\nTrack or Clip : ".$trackorclip."\nDownload or Purchase 
     : ".$downloadOrPurchase."\n Release Date : ".$releaseDate."\n Artist
      and Label Info : ".$artistAndLabel."\n Agreement : ".$agreement;

    // Use the PHP mail function
    $mail = mail($to, $subject, $message);

    // Send the message
    if($mail) {
        $response['successPageHtml'] = '
            <h1>Thanks for Contacting Us</h1>
            <p>Your message has been successfully sent.</p>
        ';
    }
    else {
        $response['failureNoticeHtml'] = '
            There was a problem sending your message.
        ';
    }

    return $response;
}

// Process any request to the form
$contactForm->processRequest();

你们中有人知道可能出了什么问题吗?:(

4

1 回答 1

0

默认情况下,该mail()功能通常不适用于 WAMP 之类的东西。您需要将 SMTP 服务器的详细信息添加到 php.ini 文件中,然后配置一些其他设置。

这是一个很好的教程:http ://roshanbh.com.np/2007/12/sending-e-mail-from-localhost-in-php-in-windows-environment.html

希望这可以帮助。

于 2013-06-27T03:02:04.527 回答