19
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Qdmailで簡単メール送信(PHP)

Posted at

Qdmailとは

スポック(spok)さんが配布しているPHPメールライブラリ

Qdsmtpを利用することで、SMTPメール送信にも対応できる

使い方は簡単だし、手軽に利用できるのが吉。

使った経緯

どなたかが作ったPHPメールフォームプログラムを改修するにあたり、SMTPでのメール送信が必要だったのだが、サーバの詳細が不明だし、PEAR::Mailもインストールできるかちょっと不明だったため、色々と物色したところQdmailに突き当たったしだい。
ライブラリとして単独で完結しているので、PHPを使える環境であれば大丈夫そうだったのでDLして使ってみる

インストール

DLした
・qdmail.php
・qdsmtp.php
をインクルードパスの通った場所におく。まあ、無難に呼び出しプログラムと同じ場所におく。

プログラム改修

mb_send_mail関数でメール送信していた箇所を、Qdmailのサンプルどおりに改修


require_once('qdmail.php');
require_once('qdsmtp.php');

$mail = new Qdmail();

$mail -> errorDisplay( false );
$mail -> smtp( true );

$param = array(
    'host' => 'xxx.xxx.xxx.xxx'    // メールサーバのIPなど
    'port' => 587                  // SMTPポート(25, 587 ...)
    'from' => 'hogehoge@neko.com'  // Return-path: に設定されるメルアド
    'protocol' => 'SMTP_AUTH'      // 認証が必要なければ 'SMTP' でよし
    'user' => 'hogehoge'           // SMTP認証ユーザ
    'pass' => 'nekosan'            // SMTP認証パスワード
);
$mail -> smtpServer($param)

$mail->to('neko@nyan.com', 'inu@kyan.com');    // 宛先
$mail->from('hogehoge@neko.com');              // 送信元
$mail->subject('明日の集会について');           // 件名
$mail->text('明日は中止です');                  // メッセージ

if ( $mail->send() ) {
    print 'mail send OK';
} else {
    print 'mail send NG';
}

使った印象

一発でメール送信完了
特に難しい呪文やら、依存するライブラリなど、面倒な環境に依存するものもなし
簡単にPHPでメール送信するプログラムを作るのであれば、非常に使いやすいライブラリかも

19
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?