2012-03-02 7 views
2
<?php 
require("./PHPMailer/class.phpmailer.php"); 

    global $error; 

    $from = $_REQUEST['from']; 
    $from_name = $_REQUEST['from_name']; 
    $subject = $_REQUEST['subject']; 
    $body = $_REQUEST['body']; 
    $is_gmail = $_REQUEST['is_gmail'] =true; 
    $to = $_REQUEST['to']; 
    $to = "[email protected]"; // used for testing only 
    $mail = new PHPMailer(); 
    $mail->IsSMTP(); 
    $mail->SMTPAuth = true; 
    if ($is_gmail) { 
     $mail->SMTPSecure = 'tls'; 
     $mail->Host = 'smtp.ks101.fdsfd.eu'; 
     $mail->Username = '[email protected]'; 
     $mail->Password = "pass"; 
     $mail->SMTPDebug = 1; 
    } else { 
     $mail->Host = SMTPSERVER; 
     $mail->Username = SMTPUSER; 
     $mail->Password = SMTPPWD; 
    }   
    $mail->SetFrom($from, $from_name); 
    $mail->Subject = $subject; 
    $mail->Body = $body; 
    $mail->AddAddress($to); 
    if(!$mail->Send()) { 
     $error = 'Mail error: '.$mail->ErrorInfo; 
     echo(false); 
     return false; 
    } else { 
     $error = 'Message sent!'; 
     echo(true); 
     return true; 
    } 
?> 

私はホスティングプロバイダに次のコードを示し、それはうまくいくはずだと教えてくれますか?アップロードしようとしましたが、うまくいきません。PHPでメールを送るのに助けてくれる人

実際のサイトを試すときにエラーが発生しました(おそらくPHPサーバー)。

<br /> 
<b>Warning</b>: stream_socket_enable_crypto() [<a href='streams.crypto'>streams.crypto</a>]: this stream does not support SSL/crypto in <b>/home/www/web420/html/test/PHPMailer/class.smtp.php</b> on line <b>197</b><br /> 
SMTP -> ERROR: RSET failed: 
<br />Language string failed to load: tls 

私は自分のサーバー上でしようとすると私は同じコードのエラーを得た(IIS 7)

<br /> 
<b>Warning</b>: stream_socket_enable_crypto() [<a href='streams.crypto'>streams.crypto</a>]: this stream does not support SSL/crypto in <b>C:\inetpub\vhosts\test.com\subdomains\test\httpdocs\appbounce\PHPMailer\class.smtp.php</b> on line <b>197</b><br /> 

私がウェブサイトで使用されるサーバーが何であるかを知りません。私は別の2つのエラーがあります。誰かが自分のコードで問題があるかどうかを確認してください。正確に何をする必要があるのですか?

おかげ

+0

'mail();'は動作しますか? http://www.php.net/manual/en/function.mail.php – Michas

+0

こんにちは@Michas私はパスワードを設定する方法を教えてください。 – user1240424

+0

あなたが運が良ければ、メールはPHPサーバー上で設定されており、パスワードなしで動作します。 – Michas

答えて

0

は、いくつかの簡単なヒント

は、この

$mail->SMTPSecure = "ssl"; 

動作しないの両方の場合....のルータレベルの認証に問題がこの

$mail->Port = 465; 

変更を追加しますホスティング部

+0

あなたは正しいです。それはGmailの仕事だが、私が持っているドメインアカウントの仕事ではない。 – user1240424

+0

あなたのホスティングプロバイダに連絡してください...これは間違いなくスクリプトの問題ではありません.... –

+0

先生、私はそれらに連絡して2日を費やしましたが、彼らはまだコードで私を助けません。彼らはまだ多くのアイデアを持っていますが、顧客が持っている問題については解決策ではありません。 – user1240424

関連する問題