2017/09/08

PHPMailerはPHP7.0で動作可能だった


表題の通り、PHP7.0でPHPMailerは動作しました。
Twitterなどでは動かない事象も出てるので助かります。

以下、方法のメモ。OCNの場合です。
最初はGmailで迷惑メールに入ってしまいましたが、届いたメールをファボることで直接メール箱に届くように?なりました。
また、Gmailでは、僕の場合、Gmailに届いたメールを他のGmailに転送していたのですが、元のアドレスの迷惑メールに届いてしまい、転送先のほうには何も届かないという事象が発生しました。

この三つをメインソースと同一フォルダに入れておきます。

・PHPMailerAutoload.php
・class.smtp.php
・class.phpmailer.php


動作したソースはこちら

require_once ( 'PHPMailerAutoload.php' );
$subject = "タイトル";
$body = "メール本文\n\n改行は\n";
$to = "宛先メールアドレス";
$fromname = "誰々より";
$from = "発信元メールアドレス";
$smtp_user = "OCNのアカウント(メールアドレス形式)";
$smtp_password = "OCNのパス";

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true;
$mail->CharSet = 'utf-8';
$mail->SMTPSecure = 'ssl';
$mail->Host = "smtp.ocn.ne.jp";
$mail->Port = 465;
$mail->IsHTML(false);
$mail->Username = $smtp_user;
$mail->Password = $smtp_password;
$mail->SetFrom($smtp_user);
$mail->From = $fromaddress;
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AddAddress($to);

if( !$mail -> Send() ){
$message = "Message was not sent
";
$message .= "Mailer Error: " . $mailer->ErrorInfo;
} else {
$message = "Message has been sent";
}

echo $message;