0

ウェブサイトからhotmailアカウントに連絡先をメールで送信しようとしましたが、届かないようです。迷惑メールにも表示されません。コードをここに投稿します。誰かが調整方法を知っている可能性があります。 (少なくとも)私の迷惑メールに入ってきます。

また、phpメーラーサービスなどは使いたくないので、提案しないでください。

編集:作業コード(phpMailerを使用)

    <?php
require_once('phpmailer/class.phpmailer.php');
define('GUSER', 'youtGmail@gmail.com); // GMail username
define('GPWD', 'gmailPassword'); // GMail password

    function smtpmailer($to, $from, $from_name, $subject, $body) { 
        global $error;
        $mail = new PHPMailer();  // create a new object
        $mail->IsSMTP(); // enable SMTP
        $mail->SMTPDebug = 0;  // debugging: 1 = errors and messages, 2 = messages only
        $mail->SMTPAuth = true;  // authentication enabled
        $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
        $mail->Host = 'smtp.gmail.com';
        $mail->Port = 465; 
        $mail->Username = GUSER;  
        $mail->Password = GPWD;           
        $mail->SetFrom($from, $from_name);
        $mail->Subject = $subject;
        $mail->Body = $body;
        $mail->AddAddress($to);
            if(!$mail->Send()) {
                $error = 'Mail error: '.$mail->ErrorInfo; 
                return false;
            } else {
                $error = 'Message sent!';
                return true;
            }
    }

if(isset($_POST['submit'])) {


    if(trim($_POST['contactname']) == '') {
        $hasError = true;
    } else {
        $name = trim($_POST['contactname']);
    }


    if(trim($_POST['subject']) == '') {
        $hasError = true;
    } else {
        $subject = trim($_POST['subject']);
    }


    if(trim($_POST['email']) == '')  {
        $hasError = true;
    } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
        $hasError = true;
    } else {
        $email = trim($_POST['email']);
    }


    if(trim($_POST['message']) == '') {
        $hasError = true;
    } else {
        if(function_exists('stripslashes')) {
            $comments = stripslashes(trim($_POST['message']));
        } else {
            $comments = trim($_POST['message']);
        }
    }


    if(!isset($hasError)) {

     $emailTo = 'your@email.com';
     smtpmailer($emailTo, $email, 'Company', $name, $subject, $comments);
     $emailSent = true;

    }
}
?>

編集:これにはSMTPを使用するように提案されましたが、それを実現する方法がわかりません。

4

2 に答える 2

0

どのドメインからメールを送信していますか?信頼できる.comものですか、それとも電子メールサーバーがスパムとして認識する可能性があるものですか?このようなドメインは通常、無料のドメインです。

そうでない場合は、php.iniファイルをチェックして、正しく構成されていることを確認します。

于 2012-08-18T17:31:27.300 に答える
0

メールの受信を改善するために試すことができることがいくつかあります。ドメインキーを使用してX-mailerヘッダーを設定してみてください。他のすべてが失敗した場合は、googlesmtpアカウントからメールを送信してください。GoogleのSMTPアカウントとPHPメーラーのようなものを使用することを強くお勧めします。私はその解決策に何の問題もありませんでした。

gmail+phpmailerを使用してSMTP経由でメールを送信する方法のチュートリアルは次のとおりです。

http://www.web-development-blog.com/archives/send-e-mail-messages-via-smtp-with-phpmailer-and-gmail/

于 2012-08-20T17:32:19.697 に答える