68 行
1.8 KiB
PHP
68 行
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Contracts\Routing\ResponseFactory;
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
use PHPMailer\PHPMailer\PHPMailer;
|
|
use PHPMailer\PHPMailer\Exception;
|
|
|
|
class MailerController extends Controller {
|
|
public function __construct() {}
|
|
|
|
public function compose ($val) {
|
|
$mail = new PHPMailer(true);
|
|
|
|
try {
|
|
$mail->SMTPDebug = 1;
|
|
$mail->isSMTP();
|
|
$mail->Host = config('mail.mailers.smtp.host');
|
|
$mail->Port = config('mail.mailers.smtp.port');
|
|
$mail->SMTPSecure = config('mail.mailers.smtp.encryption');
|
|
$mail->SMTPAuth = true;
|
|
$mail->From = config('mail.owner.address');
|
|
$mail->Username = config('mail.mailers.smtp.username');
|
|
$mail->Password = config('mail.mailers.smtp.password');
|
|
|
|
$mail->AddAddress(config('mail.owner.address'));
|
|
$mail->addReplyTo(config('mail.owner.address'), config('mail.owner.name'));
|
|
|
|
$mail->SMTPOptions = [
|
|
'ssl' => [
|
|
'verify_peer' => false,
|
|
'verify_peer_name' => false,
|
|
'allow_self_signed' => true
|
|
]
|
|
];
|
|
|
|
if (isset($val['attach'])) {
|
|
for ($i=0; $i < count($val['attach']); $i++) {
|
|
$mail->AddAttachment($val['attach'][$i], $val['attachname'][$i]);
|
|
}
|
|
}
|
|
|
|
if (isset($val['gpg'])) {
|
|
$mail->AddStringAttachment($val['gpg'], $val['gpgname']);
|
|
}
|
|
|
|
$mail->isHTML(false);
|
|
|
|
$mail->Subject = '【'.$val['catname'].'】'.$val['kenmei'];
|
|
$mail->Body = "メール:".$val['adr']."\n\n".$val['bunsyo'];
|
|
|
|
if (!$mail->send()) {
|
|
Log::critical('Mailer error: ' . $mail->ErrorInfo);
|
|
return false;
|
|
}
|
|
} catch (Exception $e) {
|
|
Log::critical($e);
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|