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 标头,使用域密钥,如果一切都失败了,只需从 google smtp 帐户向您发送邮件。我强烈建议使用 google smtp 帐户 + php mailer 之类的东西。我对那个解决方案没有任何问题。

这是一个关于如何使用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 回答