48

ユーザーID用に少し変更した基本的な例を使用してmail()いますが、「メーラーエラー:メール機能をインスタンス化できませんでした」というエラーが表示されます

メール機能を使えば

mail($to, $subject, $message, $headers);

正常に動作しますが、html の送信に問題があるため、PHPMailer を試しています。

これはコードです:

<?php
require_once('../class.phpmailer.php');

    $mail             = new PHPMailer(); // defaults to using php "mail()"
    $body             = file_get_contents('contents.html');
    $body             = eregi_replace("[\]",'',$body);
        print ($body ); // to verify that I got the html
    $mail->AddReplyTo("reply@domain.com","my name");
    $mail->SetFrom('from@domain.com', 'my name');
    $address = "to@domain.com";
    $mail->AddAddress($address, "her name");
    $mail->Subject    = "PHPMailer Test Subject via mail(), basic";
    $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!";
    $mail->MsgHTML($body);
    $mail->AddAttachment("images/phpmailer.gif");      // attachment
    $mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

    if(!$mail->Send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
        echo "Message sent!";
    }
?>
4

18 に答える 18

33

SMTPを使用して電子メールを送信してみてください:-

$mail->IsSMTP();
$mail->Host = "smtp.example.com";

// optional
// used only when SMTP requires authentication  
$mail->SMTPAuth = true;
$mail->Username = 'smtp_username';
$mail->Password = 'smtp_password';
于 2011-08-22T08:55:29.263 に答える
14
$mail->AddAddress($address, "her name");

に変更する必要があります

$mail->AddAddress($address);

これは私の場合にうまくいきました..

于 2011-08-31T12:09:07.120 に答える
13

これは私のために働いた

$mail->SetFrom("from@domain.co","my name", 0); //notice the third parameter
于 2016-02-27T20:52:09.133 に答える
12

差出人アドレスがそのサーバーで有効な電子メール アカウント設定であることを確認する必要があります。

于 2010-06-19T07:31:15.000 に答える
4

この特定のエラーに関する PHPMailer ヘルプ ドキュメントは、私を正しい道に導くのに役立ちました。

私たちが見つけたのは、php.ini に sendmail_path が定義されていないことでした。sendmail_path = /usr/sbin/sendmail -t -i;

于 2017-05-04T01:24:28.953 に答える
0

次のような地域の文字を名前に含むファイルを送信しているときに、この問題が発生していましたVęryRęgióńął file - name.pdf

解決策は、電子メールに添付する前にファイル名をクリアすることでした。

于 2016-08-20T19:20:11.750 に答える
0

私もこの問題を抱えていました。私の解決策は、selinuxを無効にすることでした。selinux で 2 つの異なる http 設定 (httpd_allow_email や http_can_connect など) を許可しようとしましたが、うまくいきませんでした。

于 2014-12-30T19:53:05.600 に答える
0

古いスレッドですが、私のような人の助けになるかもしれません。PHP.iniでSMTPサーバーの値を正当な値に設定することで問題を解決しました

于 2013-06-06T00:38:00.243 に答える
-3

php.ini ファイルの「SMTP」の値を変更する必要があります。php.ini ファイルは次の場所にあります。

EasyPHP-DevServer-14.1VC11\binaries\php\php_runningversion\php.ini
于 2014-10-24T05:48:21.617 に答える