Простая почтовая функция не отправляет электронную почту с использованием PHP

0

Используя почтовую функцию, я смог отправлять письма. Я использовал следующий код, но затем я вышел на улицу для курения, и теперь я не могу заставить функцию работать.

Я использую следующий код для отправки писем:

<?php
    $name = $_POST["fuldenavn"];
    $email = $_POST["email"];
    $comments = $_POST["beskrivelse"];
    $subject = $_POST["virksomhed"];

    $modtager = "[email protected]";
    $emne = "". $subject ."";

    $besked = "<h1 style='background-color: #006699; padding:10px; color:#ffffff;'>
                Boligpakken.dk
              </h1><b>". $emne ."</b><br><p>". $comments ."</p><br>Mvh<br>". $name ."<br>". $email ."";

    $header  = "MIME-Version: 1.0" . "\r\n";
    $header .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
    $header .= "from:". $email ."";

    if(mail($modtager, $emne, $besked, $header)) {
        header( "Location: http://boligpakken.dk/popup-info-virk.php?page=3&small=1&sent=1" );
    } else {
        header( "Location: http://boligpakken.dk/popup-info-virk.php?page=3&small=1&sent=0" );
    }
?>

и это моя настройка формы html:

<form action="send-email-virk.php" method="post">
                <div class="left">
                <label>
                    <h3>Dit fulde navn</h3>
                    <input type="text" name="fuldenavn" placeholder="Dit fulde navn" maxlength="30" data-validation="required" data-validation-error-msg="*"/>
                </label>
                <label>
                    <h3>Din email</h3>
                    <input type="text" name="email" placeholder="Din email adresse" maxlength="40" data-validation="email"  data-validation-error-msg="*"/>
                </label>
                <label>
                    <h3>Virksomhed</h3>
                    <input type="text" name="virksomhed" placeholder="Virksomhed" maxlength="40" data-validation="required" data-validation-error-msg="*"/>
                </label>
                <label>
                    <?php if($_GET['sent'] == ''): ?>
                    <input type="submit" class="button" value="Indsend - Vi kontakter dig hurtigst muligt" /> 
                    <?php elseif($_GET['sent'] == '1'): ?>
                        <center><b>Tak!</b> Vi vender tilbage hurtigst muligt.</center>
                     <?php elseif($_GET['sent'] == '0'): ?>
                     <center>Der skete en fejl</center>
                    <?php endif ?> 
                </label>
                </div><!-- end left -->
                <div class="right">
                <label>
                    <h3>Beskrivelse og formål</h3>
                    <textarea name="beskrivelse" placeholder="Beskrivelse" maxlength="2030" data-validation="required" data-validation-error-msg="*"></textarea>
                </label>
                </div><!-- end right -->
    <div class="clear"></div>
        </form>

Я спросил своих коллег, но они не видят ошибок в коде, но я не отправляю никаких писем.

Теги:
forms
email

1 ответ

0
Лучший ответ

Может быть, ваш сервер не поддерживает это? Попробуйте отправить smtp, например:

<?php

include('Mail.php');

$recipients = '[email protected]'; //CHANGE

$headers['From']    = '[email protected]'; //CHANGE
$headers['To']      = '[email protected]'; //CHANGE
$headers['Subject'] = 'Test message';

$body = 'Test message';

// Define SMTP Parameters

$params['host'] = 'mail.mail.com';
$params['port'] = '26';
$params['auth'] = 'PLAIN';
$params['username'] = '[email protected]'; //CHANGE
$params['password'] = 'pass'; //CHANGE

/* The following option enables SMTP debugging and will print the SMTP 
conversation to the page, it will only help with authentication issues,
if PEAR::Mail is not installed you won't get this far. */

$params['debug'] = 'true';

// Create the mail object using the Mail::factory method

$mail_object =& Mail::factory('smtp', $params);

// Print the parameters you are using to the page

foreach ($params as $p){
        echo "$p<br />";
}

// Send the message

$mail_object->send($recipients, $headers, $body);
?>
  • 0
    Я попробую это. Спасибо. Хотя до того, как я пошел за сигаретой, функция почты работала нормально, так что это было бы очень странно.
  • 0
    Я начал использовать почту SMTP, потому что функция почты на многих серверах отключена, и хостинг-провайдеры не хотят ее активировать. Отправка писем с вашим логином правильнее
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню