0

ほとんどの PHPMailer の質問は IsSMTP() を使用していますが、昨日 SO で見つけた非常に基本的な例から作業しています (ただし、履歴にはリンクが見つからないようです)。

require_once("class.phpmailer.php");

$email = new PHPMailer();

if (isset($_FILES['upload']['size']))
{
    echo 'file size: '.(basename($_FILES['upload']['size'])* 1024).'<br />';

    if (move_uploaded_file($_FILES['upload']['tmp_name'], $target_path))
    {
        echo "The file ".  basename( $_FILES['upload']['name'])." has been uploaded<br />";
        $email->AddAttachment($target_path);
    }
    else
    {
        echo "There was an error uploading the file, please try again!<br />&nbsp;".basename($_FILES['upload']['error']);
    }
}
else
{
    echo "No file was found for the upload.<br />";
}

$email->To = "me@this.com";
$email->From = $email_from;
$email->FromName = $first_name;
$email->Subject = "Query from website";
$email->Body = $email_message;

//echo "mail built...<br />";

if (!$email->Send())
{
    echo "Mailer error: " . $email->ErrorInfo;
}

2回送信してみました。コードは正常に実行され、最後のifステートメントは true を返します。

IsSMTP() を使用する必要がありますか? もしそうなら、ここで提案されているように SSL 経由でルーティングする必要がありますか?

前もって感謝します?

編集

SMTP に必要な詳細を次のように追加しました。

$email->IsSMTP();
$email->Host = "localhost";
$email->Port = 465;
$email->SMTPAuth = true;
$email->Username   = "bacon";
$email->Password   = "4ndCh33se";

これは、送信のトリガーにはならなかったようです。また、まだエラーは報告されていません。

編集

エラーが発生したことが判明しました。奇妙な場所にリダイレクトがあり、それが表示されませんでした。エラーは次のとおりです。

サポートされていないメーラーを少なくとも 1 つ指定する必要があります。

4

3 に答える 3

1

当初、IsSMTP() の追加は重要であると思われ、他の回答に従って実装されました。

しかし、パズルの欠けている 1 つのピースに対処するには、すべての回答が失敗しました。

PHPMailer では、以下のように少なくとも 1 つのアドレスを追加する必要があります。Toここでは、プロパティで設定したのと同じアドレスを使用しました。

$email->To = "me@this.com";
$email->AddAddress("me@this.com");

これが完了すると、すべてが完全に正常に機能しました。

于 2013-02-28T13:32:56.853 に答える
0

メールを送信する場合は、ユーザー名とパスワード、およびその他の設定smtpを設定する必要があります。SMTP

また、追加する必要がありますIsSMTP()

Gmail SMTP の設定例

$this->SwiftMailer->smtpType = 'tls';
$this->SwiftMailer->smtpHost = 'smtp.gmail.com';
$this->SwiftMailer->smtpPort = 587;
$this->SwiftMailer->smtpUsername = 'emailaddress@gmail.com';
$this->SwiftMailer->smtpPassword = 'gmailPassword';

$this->SwiftMailer->sendAs = 'html';
$this->SwiftMailer->from = 'sender@gmail.com';
$this->SwiftMailer->fromName = 'Sender Name';
$this->SwiftMailer->to = "receiver@anything.com";

$this->Email->sendAs = 'html';
于 2013-02-28T09:25:30.770 に答える