ご利用前に必ずお読みください。
フォーラムTOP > シン・クラウド for Free > PHPからmail関数を使ってMailの送信

PHPからmail関数を使ってMailの送信

by PHP Programerさん (bc38bb09)
投稿数:1回
(ベストアンサー:0回)
2023/12/15 15:17
PHPからmail関数を使ってMailの送信はできないのでしょうか?
送っても「I'm sorry to have to inform you that your message could not be delivered to one or more recipients.」となって、帰ってきてしまいます。
回答する
解決済みにする
by web勉強中さん (8cd3947d)
投稿数:53回
(ベストアンサー:5回)
2023/12/17 15:46
$to = "testmail@gmail.com";
$subject = "テストメール";
$message = "これはテストメールです。";
// メールを送信
$ret = mail($to, $subject, $message);
var_dump($ret);

でbool(true)。できてます。

php.iniは初期状態のまま
[mail function]
SMTP = localhost
smtp_port = 25
sendmail_path = /usr/sbin/sendmail -t -i

mb_send_mailでも同じように成功です。

ただし自分のアカウントで送ろうとするならLinuxの場合、
PHPMailerなりのライブラリを利用する必要があります。

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

$mail = new PHPMailer(true);

$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = 'your_username';
$mail->Password = 'your_password';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

// メールの送信処理...

PHPMailerを使えば、
マイアカウント(例:mymail@yahoo.co.jp)を送信元とするSMTPメール送信ができます。
その認証も、例えばGMail(mymail@gmai.com)の場合、
ユーザー名とパスワードでおこなう2段階認証と、
API-keyを用いてのOAuth2認証でのメール送信も可能です。

※GMailの場合はGMailアカウント・セキュリティ設定にて
 使い方に応じた事前設定が必要です
トピック作成者からの返信 2023/12/17 20:25 posted(bc38bb09)

ありがとうございます。
ちょっと難しすぎてわかりません…。
PHPMailerとやら、少し勉強します。