0

ユーザーにメールを送信する必要がある PHP システムを開発しています。Outlook アカウントを使用して電子メールを送信する必要があり、PHPmailer を使用しています。

参考までに、会社の IT 部門から入手した SMTP は有効です。

これは、両方の php.ini(Apache & PHP) で変更したものです: [メール機能] ; Win32 専用です。; http://php.net/smtp SMTP = abc-smtp.mycompany.local ; http://php.net/smtp-port smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = abc@mycompany.com

メールを送信しようとすると失敗しました。メッセージが送信されたか、メッセージが送信されなかったことを示すエラーを示す出力はありません。

私はいくつかの変更を試みました:1)ポートを465に変更しましたが、次のようなエラーが発生しました:-

fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]: SSL: crypto
enabling timeout in C:\wamp\www\assetmanagementsystem\class.smtp.php on line 122

2) extension=php_openssl.dll のコメントを外します。3) SMTP サーバーで自分の IP アドレスを付与します。

見通しが私の電子メールを送信できるようにするために何をすべきか知っている人はいますか? 私を助けてください。私は今何をすべきか本当にわかりません。これは、メールを送信するための私のコーディングです。

require_once('class.phpmailer.php');

$mail  = new PHPMailer();
$mail->IsSMTP();

$mail->SMTPAuth   = true;                  
$mail->SMTPSecure = "";                
$mail->Host       = 'abc-smtp.mycompany.local';      
$mail->Port       = 25;                   
$mail->Username   = "";   
$mail->Password   = "";            

$mail->From       = "abc@mycompany.com";
$mail->FromName   = "Asset Management System";
$mail->Subject    = "Notification on less of stock";
$mail->MsgHTML($message);

$mail->AddAddress("abc@mycompany.com","Asset Management System");
$mail->IsHTML(true); 

if(!$mail->Send())
    echo "Message was not sent <br />PHPMailer Error: " . $mail->ErrorInfo;
else
    echo "Message has been sent";   
4

1 に答える 1

0

これが私の答えです:

    $mail = new PHPMailer();
    $mail->SMTPdebug = true;
    $mail->IsSMTP();
    $mail->Host = '10.xxx.xxx.xxx';
    $mail->CharSet = 'UTF-8';
    $mail->IsHTML(false);

    $mail->AddReplyTo($email, "Vertragsverwaltung");

    $mail->SetFrom('vertragsverwaltung@domain.de', 'Vertragsverwaltung');

    $address = $email;
    $mail->AddAddress($address, "John Doe");

    $mail->Subject = "This is my subject";

    $mail->Body = "Text: \n\r" . $message;

    if (!$mail->Send()) {
        echo "[" . date("d.m.Y H:i", time()) . "] Mailer Error: " . $mail->ErrorInfo;
    } else {
        echo "[" . date("d.m.Y H:i", time()) . "] Message sent!";
    }

テキストが不十分です。

于 2013-10-25T09:32:08.430 に答える