忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2024/11/22 04:39 |
PHP1-57:PHPでQdsmtp

かつてPear::Mailを使用してGmailからメール送信というのを行いましたが、日本産ではないのでヘッダの日本語対応等少々面倒なところがあります。
世の中は広いもので、Pear要らずの日本語メール送信スクリプトを公開してくれている人がいます。

Qdsmtp 0.2.0a
http://hal456.net/qdsmtp/

準備は、qdsmtp.phpを適当なフォルダに置くだけです。
とりあえず普通にメール送信してみます。

decomail.class.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
    //require
        require_once('qdsmtp.php');
    
class Decomail{
    
    //送信メールの初期値
        protected $param = array(
             'host'=>'tls://smtp.gmail.com'
            ,'port'=> 465
            ,'protocol'=>'SMTP_AUTH'
            ,'user'=>''
            ,'pass' => ''
            ,'from'=>''
        );
    
    //Qdsmtp
        protected $smtp='';
    
    //コンストラクタ
        public function __construct($user,$pass,$from){
            //引数セット
                $this->param['user']=$user;
                $this->param['pass']=$pass;
                $this->param['from']=$from;
            //Qdsmtp
                $this->smtp = & new QdSmtp($this->param);
                $this->smtp->continueConnect(true);
        }
    
    //送信
        public function send($mailto,$subject,$body){
            //送信
                return $this->smtp -> mail(
                     $mailto
                    ,$subject
                    ,$body
                );
        }
    
#クラスのおわり
}

使用は普通にnewしてsendするだけ。

decomail.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
    //初期設定
        $user='ユーザ名';
        $pass='パスワード';
        $from='送信元メアド';
    
    //インクルード
        require_once('decomail.class.php');
        $smtp=new Decomail($user,$pass,$from);
    
    //送信
        $mailto='送信先メアド';
        $subject='件名';
        $body='本文';
        $ret=$smtp->send($mailto,$subject,$body);

Googleからあっさり送信できました。
あとは引数のチェックルーチンなんかを入れると完成です。

一見Pear::Mail版とほとんど変わりませんが、こちらはqdsmtp.phpを一本置いただけです。
Pearをインストールできない環境などでは重宝するでしょう。
また、ヘルプでは日本語が使用できないと書いてありますが、環境によっては通るみたいです。
http://hal456.net/qdsmtp/mail
とりあえず私の手元では何の問題もなく日本語メールが送信できました。何でしょう?

 

PR


2009/02/27 15:58 | Comments(0) | TrackBack() | PHP

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<PHP1-58:PHPでIMAP | HOME | PHP1-56:PHPでオンライン辞書さらにつづき>>
忍者ブログ[PR]