<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
<channel>
	<title>Qdsmtp-Simple SMTP Mailer for PHP</title>
	<link>http://hal456.net/qdsmtp/</link>
	<language>ja</language>
	<description>PHPのmail関数が使用できない環境で、メールを送るためのクラスライブラリ。SMTPサーバー経由で電子メール(e-mail)を送信します。</description>
	<copyright>Copyright 2010</copyright>
	<pubDate>Fri, 29 Jan 2010 09:19:42 GMT</pubDate>
	<lastBuildDate>Tue, 09 Mar 2010 11:55:00 GMT</lastBuildDate>
	<generator>http://adiary.abk.nu/#1.44</generator>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs> 
	<item>
		<title> XVERPの指定方法</title>
		<link>http://hal456.net/qdsmtp/xverp</link>
		<guid>http://hal456.net/qdsmtp/xverp</guid>
		<category>未分類</category>
		<pubDate>Sat, 25 Oct 2008 16:00:01 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
<h4><a href="http://hal456.net/qdsmtp/xverp#p0.1" name="p0.1" class="linkall"><span class="sanchor"></span> XVERPの指定方法</a></h4>
PostFixで XVERPを指定したい場合は下記のようにしてください。<br>
(0.2.0a以降)<br>
<br>
（もちろん、POP BEFORE SMTPやSMTP AUTHを使用する場合は、それに合わせて下さい。）<br>
<pre>
require_once('qdsmtp.php');

$param = array(
    'host'=&gt;'smtp.example.com',
    'port'=&gt; 25 ,
    'from'=&gt;'&lt;from@example.com&gt; XVERP',
    'protocol'=&gt;'SMTP',
);
$smtp = &amp; new QdSmtp($param);

</pre>
<br>
上記のサンプルのうち<br>
<pre>
    'from'=&gt;'&lt;from@example.com&gt; XVERP',
</pre>
が重要です。<br>
<br>
<h4><a href="http://hal456.net/qdsmtp/xverp#p0.2" name="p0.2" class="linkall"><span class="sanchor"></span>参考</a></h4>
<a href="http://www.postfix-jp.info/trans-2.1/jhtml/VERP_README.html">http://www.postfix-jp.info/trans-2.1/jhtml/VERP_README.html</a><br>

</div>

<hr>
<h4><a href="/qdsmtp/xverp#c">■コメント（1件）</a></h4>
<div style="margin-left: 1em;">
spok『**PosfFixの設定 PostFixはデフォルト設定では、SMTPサーバーとしてXVERPをサポートしていません。  ktさ...』(2008/10/28 9:38)</span><br>
</div>
<h4><a href="/qdsmtp/xverp#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title> 2008-10-11</title>
		<link>http://hal456.net/qdsmtp/023</link>
		<guid>http://hal456.net/qdsmtp/023</guid>
		<category>お知らせ</category>
		<pubDate>Sat, 11 Oct 2008 02:49:59 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
<a href="http://hal456.net/qdsmtp/download" class="tag adiary-key" title="記事指定 ">Qdsmtpダウンロードページ</a><br>
<ul>
	<li>0.1.9aにバージョンアップ</li>
</ul>
tryUntilSuccessメソッドのバグ修正<br>
$this-&gt;ignoreの追加<br>

</div>

<hr>
<h4><a href="/qdsmtp/023#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/023#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title> 2008-09-30</title>
		<link>http://hal456.net/qdsmtp/022</link>
		<guid>http://hal456.net/qdsmtp/022</guid>
		<category>お知らせ</category>
		<pubDate>Tue, 30 Sep 2008 14:33:57 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
<a href="http://hal456.net/qdsmtp/download" class="tag adiary-key" title="記事指定 ">Qdsmtpダウンロードページ</a><br>
<ul>
	<li>0.1.8aにバージョンアップ</li>
</ul>
コメント等の修正<br>
（機能に変化なし）<br>

</div>

<hr>
<h4><a href="/qdsmtp/022#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/022#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title> 2008-09-03</title>
		<link>http://hal456.net/qdsmtp/021</link>
		<guid>http://hal456.net/qdsmtp/021</guid>
		<category>お知らせ</category>
		<pubDate>Wed, 03 Sep 2008 13:00:17 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
<a href="http://hal456.net/qdsmtp/download" class="tag adiary-key" title="記事指定 ">Qdsmtpダウンロードページ</a><br>
<ul>
	<li>0.1.7aにバージョンアップ</li>
</ul>
配送確認の指定方法の拡張<br>
<br>
SMTP初期設定の$param の中で指定できるようにした。<br>
<br>
<a href="http://hal456.net/qdsmtp/notify" class="tag adiary-key" title="記事指定 ">配送確認の指定の仕方</a><br>

</div>

<hr>
<h4><a href="/qdsmtp/021#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/021#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title> 2008-09-03</title>
		<link>http://hal456.net/qdsmtp/019</link>
		<guid>http://hal456.net/qdsmtp/019</guid>
		<category>お知らせ</category>
		<pubDate>Wed, 03 Sep 2008 12:38:22 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
<a href="http://hal456.net/qdsmtp/download" class="tag adiary-key" title="記事指定 ">Qdsmtpダウンロードページ</a><br>
<ul>
	<li>0.1.6aにバージョンアップ</li>
</ul>
配送確認　alwaysNotifySuccess()メソッドの追加<br>
RCPT　TO　<address@example.com>の後に、常に、NOTIFY=SUCCESS,FAILUREを付けるモードを追加<br>
あくまでも暫定対処<br>
<br>
<a href="http://hal456.net/qdsmtp/notify" class="tag adiary-key" title="記事指定 ">配送確認の指定の仕方</a><br>

</div>

<hr>
<h4><a href="/qdsmtp/019#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/019#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title>配送確認</title>
		<link>http://hal456.net/qdsmtp/notify</link>
		<guid>http://hal456.net/qdsmtp/notify</guid>
		<category>未分類</category>
		<pubDate>Wed, 03 Sep 2008 12:34:50 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
<p>Qdsmtpには、相手のサーバーに届いたかどうかを確認する機能があります。0.1.6a以降</p>
<h4><a href="http://hal456.net/qdsmtp/notify#p0.1" name="p0.1" class="linkall"><span class="sanchor"></span>RFC規格の説明</a></h4>
<p>SMTP規格（正しくはESMTP）には、相手のサーバーに届いたかどうかを確認するオプションがあります。</p>
<pre>
RCPT TO &lt;address@example.com&gt; NOTIFY=SUCCESS,FAILURE
</pre>
<p>と、すると、配送に失敗した時も、成功した時も、SMTPでセットしたRetrun-Path(From)にメールを返してくれます。</p>
<h4><a href="http://hal456.net/qdsmtp/notify#p0.2" name="p0.2" class="linkall"><span class="sanchor"></span>指定の方法</a></h4>
<pre>
$smtp -&gt; alwaysNotifySuccess( true );
</pre>
<p>または、ソースの</p>
<pre>
var $always_notify_success = false;
</pre>
<p>をtrueに変更してください。</p>
<p>0.1.7a以降では下記の指定もできます。</p>
<pre>

$param = array(
    'host'=&gt;'smtp.example.com',
    'port'=&gt; 25 ,
    'from'=&gt;'from@example.com',
    'protocol'=&gt;'SMTP',
    <span style="color:red;font-weight:bold;">'always_notify' =&gt; true</span>,
);

$smtp = & new QdSmtp($param);
</pre>
<h4><a href="http://hal456.net/qdsmtp/notify#p0.3" name="p0.3" class="linkall"><span class="sanchor"></span>注意点</a></h4>
<p>ESMTPに対応したサーバーでないとこの値は無視されますので、相手方が古いサーバーを使っている場合にはメールはきません。</p>
<p>デフォルトでは、NOTIFY=FAILUREであり、エラーの時のみエラーメッセージが返ってくるようになっています。</p>
<br>
<p>返送される先のアドレスは、ヘッダーのFromではなく、エンベロープのFrom(Return-Path)であることに十分注意してください。</p>
<h4><a href="http://hal456.net/qdsmtp/notify#p0.4" name="p0.4" class="linkall"><span class="sanchor"></span>参考サイト</a></h4>
<p><a href="http://weio.at.infoseek.co.jp/rfc1891ej.txt">RFC1891日本語参考訳</a></p>

</div>

<hr>
<h4><a href="/qdsmtp/notify#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/notify#tb">■トラックバック（2件）</a></h4>
<div style="margin-left: 1em;">
<a href="http://hal456.net/qdsmtp/019" rel="nofollow"> 2008-09-03</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
<a href="http://hal456.net/qdsmtp/021" rel="nofollow"> 2008-09-03</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
</div>
]]></description>
	</item>
	<item>
		<title>SMTP送信の方法</title>
		<link>http://hal456.net/qdsmtp/smtp_method</link>
		<guid>http://hal456.net/qdsmtp/smtp_method</guid>
		<category>未分類</category>
		<pubDate>Sat, 30 Aug 2008 02:13:22 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
SMTPサーバー送信は、実装としては2種類あるかと思います。ここではその解説です。<br>
</div>

<div class="section">
<h3><a href="http://hal456.net/qdsmtp/smtp_method#p1" name="p1"><span class="sanchor">■</span></a>基礎知識</h3>
メールは一般的には以下のような配送ルートで送られます。<br>
<br>
一般論<br>
<blockquote>
クライアント(Qdmail)　→　配送元SMTPサーバー(A)　→　配送先AMTPサーバー(B) →　相手のPC<br>
</blockquote>
最後の(B)→相手のPCはPOPプロトコルであり、その他はすべてSMTPプロトコルで配送されます。<br>
ここでQdmailは、クライアントとなります。<br>
PHPのmail関数を利用した場合は、以下のようなルートです。<br>
<blockquote>
クライアント(Qdmail)　→　mail関数　→　sendmail・配送元SMTPサーバー(A)　→　配送先AMTPサーバー(B) →　相手のPC<br>
</blockquote>
sendmailは、PostFixであったりQmailであることもあります。QmailとQdmailは違いますので、ご留意下さい。<br>
sendmailというのは、ひとつのプログラムで、送信サーバー、中継サーバー、受信サーバーの1台3役のサーバーなので、よく理解がごっちゃになりやすいので気をつけて下さい。<br>
<h4><a href="http://hal456.net/qdsmtp/smtp_method#p1.1" name="p1.1" class="linkall"><span class="sanchor"></span>mail関数とSMTP送信の違い</a></h4>
mail関数の方がSMTP送信の段取りをやってくれるため、PHPプログラムは簡単になります。一方で、mail関数そのものが、ちょっと改行コードの取り扱い等に難点があり、文字化けの原因になったりします。<br>
<br>
SMTP送信は文字化けについては、mail関数より信頼性が高いものの、SMTPプロトコルでの送信をPHPプログラムが面倒見無ければならないので、面倒です。Qdsmtpは、その面倒さを引き受けて、ユーザーの負担を軽くするものです。<br>
</div>

<div class="section">
<h3><a href="http://hal456.net/qdsmtp/smtp_method#p2" name="p2"><span class="sanchor">■</span></a>SMTP送信の種類</h3>
SMTP送信の中にも大きく2種類があります。<br>
<br>
その１（中継サーバーに配送を委託する方法）---Qdsmtpはこの実装。<br>
<pre>
クライアント(Qdmail)　→　配送元SMTPサーバー(A)（認証が必要）　→　配送先AMTPサーバー(B)（認証不要） →　相手のPC  　　　　　　　
</pre>
<br>
その２（直接相手先のSMTPサーバーに配送してしまう方法）<br>
<pre>
クライアント(Qdmail)　→　配送先AMTPサーバー(B)（認証不要） →　相手のPC
</pre>
一般的にSMTP送信と言った時にどちらを指すのはかは、私の経験不足でわかりません。どなたか、知っていたら教えて下さい。<br>
<h4><a href="http://hal456.net/qdsmtp/smtp_method#p2.1" name="p2.1" class="linkall"><span class="sanchor"></span>認証について</a></h4>
過去のインターネットの世界では、SMTPは認証不要でした。しかし、それがスパムメールに悪用されるようになり、POP Before SMTPという疑似認証方式が多くで採用され、現在では、SMTP AUTHというIDとパスワードでの認証が必要になっています。<br>
ただし、認証が必要なのは、他のSMTPサーバーに送信する中継サーバーだけです。<br>
なぜなら、配信先のSMTPサーバー(B)は、どこのサーバーから接続されるのがわからないから、それを認証必須にしてしまうと、特定の相手先からしかメールを受け取れないことになっています。<br>
したがって、多くのSMTPサーバーは、以下のような設定になっています。<br>
<blockquote>
自分が管理するメールボックス宛であれば、認証必要なく接続を許可し、他のサーバーへの中継要求は認証があれば許可するが、認証がなければ拒否する。<br>
</blockquote>
だから、配信元サーバーは通常認証が必要になります。そうでないとスパムの踏み台にされてしまうからです。もし、現状で認証の必要のない配信元サーバーを公開しているのであれば、即刻サーバー停止すべきものです。<br>
<h4><a href="http://hal456.net/qdsmtp/smtp_method#p2.2" name="p2.2" class="linkall"><span class="sanchor"></span>２つの方法の違い</a></h4>
<h5>その１（中継サーバーに配送を委託する方法）</h5>
認証ありで第三者中継を許すサーバーにで接続し、各到達地点のSMTPサーバーに中継してもらう。<br>
<br>
この方法の利点<br>
<ul>
	<li>到達地点のSMTPサーバーになんらかの理由で接続できなかった場合でも、最初のSMTPサーバーが、メールを留保し、後で、送り直しをしてくれるため、到達確立が安心できるレベルにある</li>
	<li>いつも同じSMTPサーバーに接続するだけでよいので、面倒がない</li>
	<li>安定した配送元SMTPサーバーであれば、しっかり配送してくれる</li>
</ul>
その代わりに、そのSMTPサーバーに自分がアカウントを持っていなければなりません。例えば、私はレンタルサーバーのSMTPサーバーやso-netのアカウントも持っていますので、たまにso-netのSMTPサーバーに認証ありで、中継してもらっています。<br>
<br>
<h5>その２（直接、配送先のSMTPサーバーに接続する方法）</h5>
送り先のメールアドレスに合わせて、その都度異なる（当該メールを管理する）SMTPサーバーに認証なしで接続して送信することになります。<br>
<br>
例えば、ドコモユーザー(***@docomo.ne.jp)に送信する場合には、mfsmax.docomo.ne.jpというSMTPサーバーをdocomo.ne.jpという情報からインターネット上で逆引きして探しだし、そこへ接続します。<br>
gmailユーザー(***@gmail.com)であれば、gmail.comの受信サーバーたるASPMX.L.GOOGLE.COMを探しだし、そこへ接続します。<br>
<br>
認証なしサーバーは第三者中継は行わないものの、そのSMTPサーバーが管理するドメイン（サブドメイン）のメールボックス宛であれば、認証なしで受け入れます。<br>
<br>
この方法の利点<br>
<ul>
	<li>直接接続なので認証がいらない</li>
</ul>
という点です。<br>
<br>
一方で、欠点もあります。<br>
<ul>
	<li>送り先のメールアドレスから、IPアドレスなり、SMTPサーバーなりを逆引きしなければならず、また、接続エラーの場合の処理を自前で実装しなければならない</li>
	<li>エラー処理は、PHPだけでは完結が難しく、必ず、サーバーの設定等も必要になることが多いので、可搬性のよくない（万人向けではない）ソフトになってしまう</li>
	<li>そのPHPプログラムが動作するIPアドレスによっては、配送元から接続拒否をされる場合がある</li>
</ul>
<br>
<h4><a href="http://hal456.net/qdsmtp/smtp_method#p2.3" name="p2.3" class="linkall"><span class="sanchor"></span>配送元が接続拒否をする場合とは？</a></h4>
その２（配送先サーバーに直接送信）の場合によく問題となるのが、例えばdocomoユーザーへのメールが届かない、という問題です。参考<a href="http://www.aconus.com/~oyaji/mail2/radish.htm">&lt;Radish3(Docomo対策編)&gt;-パソコンおやじ</a><br>
ドコモでは、スパム対策のために、「怪しいとドコモが判断した送信元サーバー」からは、接続を受け付けないか、極端に待たせるか、優先順位を下げるなどの設定にしているようです。<br>
ここではドコモを取り上げましたが、このように送信元サーバーの制限をするプロバイダは他にもあるそうです（詳しくは調べていません。）<br>
何を持って「怪しい」と判断するかは、そのサーバーの管理者のポリシーなのでなんともいえませんが、いわゆる「プロバイダ事業者」が管理するサーバーは特段の問題はないものの、ダイナミックDNSなどでIPアドレスが頻繁に変更となるサーバーや、これまでに大量送信が確認されたサーバー、もしくは見慣れない？サーバーなどは問題となることが多いようです。<br>
これは、私たちが、PHPを使って直接配信先に接続しようとした時、配信先のサーバ－に、審査されることを意味します。<br>
例えば、会社のテストサーバーから繋ぐと、「怪しい」と判断されるかも知れませんし、それを運用環境にもっていってIPアドレス等が変更になれば、「怪しくない」と判断されるかも知れません。その逆もあるかも知れません。このように、開発環境と運用環境で、接続確立がかわるため、開発は面倒です。<br>
<br>
この問題は、配信先のサーバーの問題であるため、その１（中継サーバーに中継してもらう）方法でも、起こりえます。しかし、通常、その１の方法の場合は、かなり信頼性のあるプロバイダやレンタルサーバー事業者のSMTPサーバーを利用することが多いので、問題が表面化することは少ないといえます。<br>
逆に、その１の方法でも、自社で立てたテストサーバーのようなものであれば、同様の問題がでてくる可能性はあります（あくまでも可能性）。<br>
<br>
</div>

<div class="section">
<h3><a href="http://hal456.net/qdsmtp/smtp_method#p3" name="p3"><span class="sanchor">■</span></a>Qdsmtpの対処と今後</h3>
<h4><a href="http://hal456.net/qdsmtp/smtp_method#p3.1" name="p3.1" class="linkall"><span class="sanchor"></span>現状</a></h4>
現状では、その１の方法だけなので、いろんな所にメールを送りたければ、サーバー認証またはPOP Before SMTPにて、対処しないといけないと思います。<br>
<h4><a href="http://hal456.net/qdsmtp/smtp_method#p3.2" name="p3.2" class="linkall"><span class="sanchor"></span>今後</a></h4>
いずれは、Qdsmtpも、その２　の方法もサポートしたいとは思いますが。。。。時間があれば。<br>
その時には、その２の方法を接続を試みて、接続負荷だった場合には、その１の中継サーバーにお願いする、というような方法になるでしょう。<br>

</div>

<hr>
<h4><a href="/qdsmtp/smtp_method#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/smtp_method#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title>Qdmailと組み合わせて、日本語メールをSMTP送信する。</title>
		<link>http://hal456.net/qdsmtp/withqdmail</link>
		<guid>http://hal456.net/qdsmtp/withqdmail</guid>
		<category>未分類</category>
		<pubDate>Thu, 01 May 2008 14:57:45 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
<h3><a href="http://hal456.net/qdsmtp/withqdmail#p1" name="p1"><span class="sanchor">■</span></a>マルチバイト＆SMTP送信</h3>
<a href="http://hal456.net/qdmail/">Qdmail</a>は、簡単高機能日本語（マルチバイト）メールライブラリです。<br>
QdmailとQdsmtpを組み合わせると、PHPのmail関数に使わずに、日本語メールを送ることができます。<br>
<h4><a href="http://hal456.net/qdsmtp/withqdmail#p1.1" name="p1.1" class="linkall"><span class="sanchor"></span>　組み合わせ方</a></h4>
インクルードパスの通ったところ（Qdsmtpと同じところがよいでしょう）に、qdmail.phpを置いてください。<br>
<br>
あとは、Qdmailからsmtp送信を指定すれば、勝手にファイルをインクルードしますので、ユーザーが組み合わせについて頭を悩ませる必要はありません。<br>
<br>
<h4><a href="http://hal456.net/qdsmtp/withqdmail#p1.2" name="p1.2" class="linkall"><span class="sanchor"></span>Qdmailでの指定の仕方</a></h4>
通常のQdmailの指定の他に以下を加えてください。OOP,easyモード<br>
<pre>
$param = array(
	'host'=&gt;'pop.example.com',
	'port'=&gt;'587',
	'from'=&gt;'address@example.com',
	'user'=&gt;'postmaster@example.com',
	'pass' =&gt; 'password',
	'protocol'=&gt;'SMTP_AUTH',
);

$this-&gt;Qdmail-&gt;smtp(true);
$this-&gt;Qdmail-&gt;smtpServer($param);
</pre>
ここでは、SMTP認証の例を示しました。<br>
（Qdmailそのものの、他の設定は省略しています。それは、<a href="http://hal456.net/qdmail/">Qdmail</a>をご参照ください。）<br>
<a href="http://hal456.net/qdmail/smtp">Qdmail+QdSmtpのサンプルコード</a>も追記しました。<br>
それ以外のサーバーパラメータの指定については、<a href="http://hal456.net/qdsmtp/init" class="tag adiary-key" title="記事指定 ">初期設定</a>を参考にしてください。<br>
<br>
<br>
ようは、SMTP送信に必要なデータと、SMTP送信する旨をQdmailに伝えるだけです。<br>
<br>
Qdmailは、勝手にQdsmtpを探しだし、インクルードします。<br>
もし、うまくインクルードしない場合は、ユーザーにて明示的にインクルードしておいてください。そうしたら、勝手にQdmailはQdsmtpクラスを見つけて動作します。<br>

</div>

<hr>
<h4><a href="/qdsmtp/withqdmail#c">■コメント（4件）</a></h4>
<div style="margin-left: 1em;">
Waki『マルチバイト＆SMTP送信をする場合に、例では省略されていますが、 全文（Qdmail＋Qdsmtp）を記述してもらえませんでし...』(2008/05/20 24:00)</span><br>
spok『ずいぶんお待たせしてスイマセン。こちらをチェックしていませんでした。 http://hal456.net/qdmail/smtp...』(2008/07/15 24:13)</span><br>
actbemu『$mail = & new Qdmail(); でQdmailのオブジェクトを作った後で、 　　 pop3UseFile( fa...』(2008/07/18 13:04)</span><br>
spok『actbemuさん  ご利用ありがとうございます。 確かに連携機能が弱かったので、Qdmailの方をバージョンアップしました。 ...』(2008/07/19 22:05)</span><br>
</div>
<h4><a href="/qdsmtp/withqdmail#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title>CakePHPコンポーネントとして使う</title>
		<link>http://hal456.net/qdsmtp/cakephp</link>
		<guid>http://hal456.net/qdsmtp/cakephp</guid>
		<category>未分類</category>
		<pubDate>Thu, 24 Apr 2008 15:08:25 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
Qdsmtpは、通常のライブラリの他、CakePHPのコンポーネントとしても動作します。<br>
単体で使用することもできますし、Qdmailと組み合わせると力をもっと発揮します。<br>
</div>

<div class="section">
<h3><a href="http://hal456.net/qdsmtp/cakephp#p1" name="p1"><span class="sanchor">■</span></a>初期設定</h3>
/app/controllers/conponents/<br>
にファイルを置いてください。<br>
<br>
使いたいコントローラーで、<br>
<pre>
var $conponentes = array( 'Qdsmtp' );
</pre>
とするだけ。<br>
<br>
すると<br>
<pre>
$this-&gt;Qdsmtp-&gt;mail(・・・・・);
</pre>
とするだけで、標準mail関数を使わない、SMTP送信ができます。<br>
<h4><a href="http://hal456.net/qdsmtp/cakephp#p1.1" name="p1.1" class="linkall"><span class="sanchor"></span>Qdmailと組み合わせて使う</a></h4>
明示的に$conponentes = array( 'Qdsmtp' );としなくても、Qdmailが勝手に読み込んでくれます。<span class="footnote"><a title="もちろん明示的に指定してもよい" href="http://hal456.net/qdsmtp/cakephp#fn1" name="n1">*1</a></span><br>
<h4><a href="http://hal456.net/qdsmtp/cakephp#p1.2" name="p1.2" class="linkall"><span class="sanchor"></span>使用例</a></h4>
<pre>
$param = array(
	'host'=&gt;'pop.example.com',
	'port'=&gt;'587',
	'from'=&gt;'address@example.com',
	'user'=&gt;'postmaster@example.com',
	'pass' =&gt; 'password',
	'protocol'=&gt;'SMTP_AUTH',
);

$this-&gt;Qdmail-&gt;to('to_address@example.com');
$this-&gt;Qdmail-&gt;subject('メールのテスト');
$this-&gt;Qdmail-&gt;from('from@example.com');

$this-&gt;Qdmail-&gt;smtp(true);
$this-&gt;Qdmail-&gt;smtpServer($param);
$this-&gt;Qdmail -&gt; cakeHtml('本文');

$fg=$this-&gt;Qdmail-&gt;send();
</pre>

</div>
<div class="footnote">
	<p class="footnote"><a href="http://hal456.net/qdsmtp/cakephp#n1" name="fn1">*1</a> : もちろん明示的に指定してもよい</p>
</div>

<hr>
<h4><a href="/qdsmtp/cakephp#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/cakephp#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title>Qdsmtpとは</title>
		<link>http://hal456.net/qdsmtp/top</link>
		<guid>http://hal456.net/qdsmtp/top</guid>
		<category>未分類</category>
		<pubDate>Wed, 23 Apr 2008 12:39:01 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
<a href="http://hal456.net/">hal456トップページ</a><br>
</div>

<div class="section">
<h3><a href="http://hal456.net/qdsmtp/top#p1" name="p1"><span class="sanchor">■</span></a>Qd Simple SMTPとは</h3>
PHPにおいて標準のmail()関数が使用できない環境であっても、手軽にメールを送れるようにするライブラリです。<br>
具体的には、外部SMTPサーバーに接続してメールを送ります。<br>
またSMTP送信の方が一般的には、mail()関数よりも高速動作します。<br>
<br>
ウィンドウズ(Windows)でPHPを使用している場合でも、SMTPサーバーをインストールしなくても、このQdsmtpを使えば、mail関数ライクにメールを送信することができます。<br>
mail関数が使えなくても、SMTP送信であれば汎用性があり、開発と運用とでコードをわける必要がほとんどありません。<br>
<h4><a href="http://hal456.net/qdsmtp/top#p1.1" name="p1.1" class="linkall"><span class="sanchor"></span>特徴</a></h4>
<ul>
	<li>PHP4,PHP5の両方に対応</li>
	<li>1ファイルをインクルートするだけのお手軽構成</li>
	<li>mail関数風に手軽にSMTPでのメール送信が可能</li>
	<li>SMTPのデータ形式でも送信可能（当たり前）</li>
	<li>POP Before SMTP に対応<a href="http://hal456.net/qdsmtp/popoption" class="tag adiary-key" title="記事指定 ">注意点</a></li>
	<li>SMTP AUTH (PLAINのみ)に対応</li>
	<li>持続接続で複数宛先への高速送信が可能</li>
	<li><a href="http://hal456.net/qdmail/">Qdmail</a>と組み合わせて、マルチバイト日本語メール対応</li>
</ul>
<h4><a href="http://hal456.net/qdsmtp/top#p1.2" name="p1.2" class="linkall"><span class="sanchor"></span>使い方（目次）</a></h4>
<a href="http://hal456.net/qdsmtp/init" class="tag adiary-key" title="記事指定 ">共通の初期設定（SMTPサーバー設定）</a><br>
<a href="http://hal456.net/qdsmtp/mail" class="tag adiary-key" title="記事指定 ">簡単な使い方(mail関数ライク)</a><br>
<a href="http://hal456.net/qdsmtp/send" class="tag adiary-key" title="記事指定 ">玄人的な使い方(高速動作)</a><br>
<a href="http://hal456.net/qdsmtp/option" class="tag adiary-key" title="記事指定 ">オプション</a><br>
<a href="http://hal456.net/qdsmtp/log" class="tag adiary-key" title="記事指定 ">ログ機能</a><br>
<h4><a href="http://hal456.net/qdsmtp/top#p1.3" name="p1.3" class="linkall"><span class="sanchor"></span>ダウンロード</a></h4>
<a href="http://hal456.net/qdsmtp/download" class="tag adiary-key" title="記事指定 ">ダウンロードページ</a><br>
<h4><a href="http://hal456.net/qdsmtp/top#p1.4" name="p1.4" class="linkall"><span class="sanchor"></span>その他</a></h4>
Pear:MailでもSMTP送信はできますが、Pearのインストールそのものが面倒だったり、Pearの設定が面倒だったりしませんか？<br>
Qdsmtpは、ご自分のスクリプトにインクルードするだけなので、とっても簡単です。<br>
<br>
<a href="http://hal456.net/qdsmtp/testsmtp" class="tag adiary-key" title="記事指定 ">テストしたサーバー</a><br>
<a href="http://hal456.net/qdsmtp/timeout" class="tag adiary-key" title="記事指定 ">タイムアウトについて</a><br>

</div>

<hr>
<h4><a href="/qdsmtp/top#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/top#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title>使い方(Howto)</title>
		<link>http://hal456.net/qdsmtp/Howto</link>
		<guid>http://hal456.net/qdsmtp/Howto</guid>
		<category>未分類</category>
		<pubDate>Wed, 23 Apr 2008 12:14:45 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
<h3><a href="http://hal456.net/qdsmtp/Howto#p1" name="p1"><span class="sanchor">■</span></a>ダウンロード</h3>
<a href="http://hal456.net/qdsmtp/download" class="tag adiary-key" title="記事指定 ">ダウンロードページ</a><br>

</div>

<hr>
<h4><a href="/qdsmtp/Howto#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/Howto#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title>タイムアウトについて</title>
		<link>http://hal456.net/qdsmtp/timeout</link>
		<guid>http://hal456.net/qdsmtp/timeout</guid>
		<category>未分類</category>
		<pubDate>Wed, 23 Apr 2008 12:17:18 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
SMTPでは、適切でない値を初期設定で設定してしまうと、サーバーからの応答を得ることができず、タイムアウトいっぱいまで、動作が止まることがあります。<br>
<br>
Qdsmtpのタイムアウトのデフォルトは、3秒に設定してあります。これを変更するには次のようにして下さい。<br>
<pre>
$smtp -&gt; timeOut( n );
</pre>
nは整数。秒単位で指定します。<br>

</div>

<hr>
<h4><a href="/qdsmtp/timeout#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/timeout#tb">■トラックバック（1件）</a></h4>
<div style="margin-left: 1em;">
<a href="http://hal456.net/qdsmtp/top" rel="nofollow">Qdsmtpとは</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
</div>
]]></description>
	</item>
	<item>
		<title>テストしたSMTPサーバー</title>
		<link>http://hal456.net/qdsmtp/testsmtp</link>
		<guid>http://hal456.net/qdsmtp/testsmtp</guid>
		<category>未分類</category>
		<pubDate>Wed, 23 Apr 2008 12:22:27 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
以下のSMTPサーバーにてテストしました。<br>
<table>
<tbody>
	<tr class="odd"><td>so-net</td><td>SMTP AUTH , POP Before SMTP , サブミッションポート</td></tr>
	<tr class="even"><td>ドリーム・ネット</td><td>POP Before SMTP</td></tr>
	<tr class="odd"><td>さくらインターネット（レンタルサーバー）</td><td>SMTP AUTH , POP Before SMTP , サブミッションポート</td></tr>
	<tr class="even"><td>ロリポップ（レンタルサーバー）</td><td>POP Before SMTP</td></tr>
</tbody></table>
<br>
もし、動作しないサーバーがあったら教えて下さい。<br>

</div>

<hr>
<h4><a href="/qdsmtp/testsmtp#c">■コメント（3件）</a></h4>
<div style="margin-left: 1em;">
spok『unknown 2008年10月29日(水) 午後10時37分   windows sbs 2003 IISサーバーでも利用でき...』(2008/10/30 23:42)</span><br>
spok『HOTMAILは使えませんでした』(2009/10/23 14:07)</span><br>
wata『便利です！ありがとうございます。xampp ローカルからも問題なく送信できました。』(2010/01/29 18:19)</span><br>
</div>
<h4><a href="/qdsmtp/testsmtp#tb">■トラックバック（1件）</a></h4>
<div style="margin-left: 1em;">
<a href="http://hal456.net/qdsmtp/top" rel="nofollow">Qdsmtpとは</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
</div>
]]></description>
	</item>
	<item>
		<title>その他</title>
		<link>http://hal456.net/qdsmtp/etc</link>
		<guid>http://hal456.net/qdsmtp/etc</guid>
		<category>未分類</category>
		<pubDate>Wed, 23 Apr 2008 12:19:41 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
その他<br>

</div>

<hr>
<h4><a href="/qdsmtp/etc#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/etc#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title>ログ機能</title>
		<link>http://hal456.net/qdsmtp/log</link>
		<guid>http://hal456.net/qdsmtp/log</guid>
		<category>未分類</category>
		<pubDate>Wed, 23 Apr 2008 12:17:42 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
Qdsmtpには２つのログ記録機能があります。<br>
デフォルトではＯＦＦです。<br>
<br>
<h4><a href="http://hal456.net/qdsmtp/log#p0.1" name="p0.1" class="linkall"><span class="sanchor"></span>SMTPログ</a></h4>
SMTPサーバーとのやりとりをすべて記録します。<br>
<h4><a href="http://hal456.net/qdsmtp/log#p0.2" name="p0.2" class="linkall"><span class="sanchor"></span>エラーログ</a></h4>
エラーの内容を記録します。<br>
<blockquote>
注意：<br>
どちらも、メールアドレス、サーバー名などの情報が書き込まれます。ログファイルの管理については、不特定多数がアクセスできない場所に置いて下さい。<br>
</blockquote>
<h4><a href="http://hal456.net/qdsmtp/log#p0.3" name="p0.3" class="linkall"><span class="sanchor"></span>ログの記録方法</a></h4>
<pre>
$smtp -&gt; logLevel( 1 );
</pre>
０：記録しない（デフォルト）<br>
１：記録する<br>
<br>
エラーログの場合は次のようにしてください。<br>
<pre>
$smtp -&gt; errorlogLevel( 1 );
</pre>
０：記録しない（デフォルト）<br>
１：記録する<br>
<h4><a href="http://hal456.net/qdsmtp/log#p0.4" name="p0.4" class="linkall"><span class="sanchor"></span>ログファイルの変更</a></h4>
デフォルトでは、それぞれ"qdsmtp.log","qdsmtp_error.log"となっています。変更するには次のようにして下さい。<br>
<pre>
$smtp -&gt; logFilename( 'フルパスまたは相対パス' );
$smtp -&gt; errorlogFilename( 'フルパスまたは相対パス' );
</pre>
ディレクトリ名だけでなく、必ずファイル名まで指定してください。<br>

</div>

<hr>
<h4><a href="/qdsmtp/log#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/log#tb">■トラックバック（1件）</a></h4>
<div style="margin-left: 1em;">
<a href="http://hal456.net/qdsmtp/top" rel="nofollow">Qdsmtpとは</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
</div>
]]></description>
	</item>
	<item>
		<title>POPタイムアウトについて</title>
		<link>http://hal456.net/qdsmtp/popoption</link>
		<guid>http://hal456.net/qdsmtp/popoption</guid>
		<category>未分類</category>
		<pubDate>Wed, 23 Apr 2008 12:16:12 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
POP Before SMTPとは、メールの送信前に、受信動作(POP)することで、そのIPアドレスを一定時間信用し、そのＩＰアドレスからの送信動作については、認証なしでもＯＫとする方法です。<br>
<br>
この一定の信用される時間ですが、QdsmtpでPOP Before SMTPを利用した場合、デフォルトでは、10分間に設定されています。<br>
<br>
もし、お使いのプロバイダが、10分よりも短い間隔に設定しているようだと送信がうまくできないことがあるかもしれません。<br>
その時は、次のようにしてください。<br>
<pre>
$smtp -&gt; pop3ValidMinute( n ); 
</pre>
nは整数。分単位で指定します。<br>
<br>
また、ファイルを作成せずに、スクリプト起動ごとにPOP受信するように設定するには、次のようにします。<br>
<pre>
$smtp -&gt; pop3UseFile( false ); 
</pre>
<br>
このアクセス制御のためにQdsmtpは、カレントディレクトリに、qdsmtp.timeというファイルを作成します。前回のPOP受信のunixtimeが書かれた単純なファイルです。<br>
<br>
このファイル名を変更したい場合は、次のようにします。<br>
<pre>
$smtp -&gt; pop3TimeFilename( 'フルパスまたは相対パス' ); 
</pre>
ディレクトリ名だけでなく、必ず、ファイル名まで指定してください。<br>

</div>

<hr>
<h4><a href="/qdsmtp/popoption#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/popoption#tb">■トラックバック（1件）</a></h4>
<div style="margin-left: 1em;">
<a href="http://hal456.net/qdsmtp/top" rel="nofollow">Qdsmtpとは</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
</div>
]]></description>
	</item>
	<item>
		<title>ダウンロード</title>
		<link>http://hal456.net/qdsmtp/download</link>
		<guid>http://hal456.net/qdsmtp/download</guid>
		<category>未分類</category>
		<pubDate>Wed, 23 Apr 2008 12:30:19 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
<h3><a href="http://hal456.net/qdsmtp/download#p1" name="p1"><span class="sanchor">■</span></a> version</h3>
現状の機能はきちんと動くはずですが、SMTP AUTHの一部にしか対応していないので、アルファー版としています<span class="footnote"><a title="Plain認証のみの対応" href="http://hal456.net/qdsmtp/download#fn1" name="n1">*1</a></span>。<br>
ご意見、ご不満、動作報告などしていたけると励みになります。<br>
</div>
<div class="footnote">
	<p class="footnote"><a href="http://hal456.net/qdsmtp/download#n1" name="fn1">*1</a> : Plain認証のみの対応</p>
</div>

<div class="section">
<h3><a href="http://hal456.net/qdsmtp/download#p2" name="p2"><span class="sanchor">■</span></a>ライセンス(License)</h3>
このPHPプログラム　Qdsmtp　はオープンソースであり、MIT Liceseでライセンスされています。(CakePHPなどと同じです。)<br>
<blockquote>
The MIT Licese <a href="http://www.opensource.org/licenses/mit-license.php">http://www.opensource.org/licenses/mit-license.php</a><br>
</blockquote>
改変、再配布、商用利用は自由に行えます。ライセンスに基づく限り、無料であり、貴方はどこにもお金を支払う必要はありません。<br>
詳しくは、上記ＵＲＬをご覧下さい。<br>
（バージョン0.1.3aまではAGPLv3でしたが、より制約の緩いMIT Liceseに変更しました。）<br>
<br>
このライセンスに守るのが難しい方は、作者に連絡をとってください。<br>
連絡先は、<a href="http://hal456.net/qdsmtp/whois" class="tag adiary-key" title="記事指定 ">プロフィールのページ</a>にメールアドレスが記載してあります。私は多くのスパムメールを受け取っているので、必ず、E-mailの"subject"には"Qdmail"の言葉を入れて下さい。<br>
<br>
作者は、操作に関する質問はメールでは受け付けていません。質問のある方はこのサイトの適当な記事にコメントをつけることで行って下さい。ただし、作者の都合により、その質問には回答が寄せられないことがあります。<br>
<br>
<a href="http://hal456.net/qdsmtp/&category?cat=%e3%81%8a%e7%9f%a5%e3%82%89%e3%81%9b">改版履歴</a><br>
<h4><a href="http://hal456.net/qdsmtp/download#p2.1" name="p2.1" class="linkall"><span class="sanchor"></span>最新版</a></h4>
2008-10-25 <a href="http://hal456.net/public/image/qdsmtp/200804/qdsmtp.0.2.0a.zip" title="ファイル" class="tag file">qdsmtp.0.2.0a.zip</a> <br>
<h4><a href="http://hal456.net/qdsmtp/download#p2.2" name="p2.2" class="linkall"><span class="sanchor"></span>以前のもの</a></h4>
2008-09-30 <a href="http://hal456.net/public/image/qdsmtp/200804/qdsmtp.0.1.9a.zip" title="ファイル" class="tag file">qdsmtp.0.1.9a.zip</a><br>
2008-09-30 <a href="http://hal456.net/public/image/qdsmtp/200804/qdsmtp.0.1.8a.zip" title="ファイル" class="tag file">qdsmtp.0.1.8a.zip</a><br>
2008-09-03 <a href="http://hal456.net/public/image/qdsmtp/200804/qdsmtp.0.1.7a.zip" title="ファイル" class="tag file">qdsmtp.0.1.7a.zip</a><br>
2008-09-03 <a href="http://hal456.net/public/image/qdsmtp/200804/qdsmtp.0.1.6a.zip" title="ファイル" class="tag file">qdsmtp.0.1.6a.zip</a><br>
2008-08-27 <a href="http://hal456.net/public/image/qdsmtp/200804/qdsmtp.0.1.5a.zip" title="ファイル" class="tag file">qdsmtp.0.1.5a.zip</a><br>
2008-06-01 <a href="http://hal456.net/public/image/qdsmtp/200804/qdsmtp.0.1.4a.zip" title="ファイル" class="tag file">qdsmtp.0.1.4a.zip</a>2008-05-01 <a href="http://hal456.net/public/image/qdsmtp/200804/qdsmtp.0.1.3a.zip" title="ファイル" class="tag file">qdsmtp.0.1.3a.zip</a><br>
2008-04-26 <a href="http://hal456.net/public/image/qdsmtp/200804/qdsmtp.0.1.2a.zip" title="ファイル" class="tag file">qdsmtp.0.1.2a.zip</a><br>
2008-04-24 <a href="http://hal456.net/public/image/qdsmtp/200804/qdsmtp.0.1.1a.zip" title="ファイル" class="tag file">qdsmtp.0.1.1a.zip</a><br>
2008-04-23 <a href="http://hal456.net/public/image/qdsmtp/200804/qdsmtp.0.1.0a.zip" title="ファイル" class="tag file">qdsmtp.0.1.0a.zip</a><br>

</div>

<hr>
<h4><a href="/qdsmtp/download#c">■コメント（2件）</a></h4>
<div style="margin-left: 1em;">
多謝『最新版をDLして使わせて頂きましたが、冒頭のバージョン情報が0.1.6aになっていましたのでお知らせします。』(2008/09/29 15:42)</span><br>
spok『ご使用いただきありがとうございます。 ご指摘ありがとうございました。 近々直しておきます。』(2008/09/30 23:24)</span><br>
</div>
<h4><a href="/qdsmtp/download#tb">■トラックバック（5件）</a></h4>
<div style="margin-left: 1em;">
<a href="http://hal456.net/qdsmtp/top" rel="nofollow">Qdsmtpとは</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
<a href="http://hal456.net/qdsmtp/019" rel="nofollow"> 2008-09-03</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
<a href="http://hal456.net/qdsmtp/021" rel="nofollow"> 2008-09-03</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
<a href="http://hal456.net/qdsmtp/022" rel="nofollow"> 2008-09-30</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
<a href="http://hal456.net/qdsmtp/023" rel="nofollow"> 2008-10-11</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
</div>
]]></description>
	</item>
	<item>
		<title>簡単な送り方</title>
		<link>http://hal456.net/qdsmtp/mail</link>
		<guid>http://hal456.net/qdsmtp/mail</guid>
		<category>未分類</category>
		<pubDate>Wed, 23 Apr 2008 12:12:06 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
必ず、<a href="http://hal456.net/qdsmtp/init" class="tag adiary-key" title="記事指定 ">初期設定</a>は行って下さい。<br>
<br>
メールを送るのは次のようにします。<br>
<pre>
$smtp -&gt; mail( '送り先' , '題名' , '本文' , '追加ヘッダ（省略可）' , 'MTAオプション（省略可）' )
</pre>
各引数の意味は、PHP標準のmail()関数と同じです。（簡単でしょ）<br>
したがって、日本語はそのままでは通りません。<br>
日本語を使いたい場合は、<a href="http://hal456.net/qdmail/">Qdmail</a>を併用してください。<br>
<br>
必ず、<a href="http://hal456.net/qdsmtp/init" class="tag adiary-key" title="記事指定 ">初期設定</a>は行った後に、$smtp-&gt;mailを実行させてください。<br>
<br>
<ul>
	<li>標準mail関数と異なる部分
	<ul>
		<li>MTAオプションは、現在のバージョンでは無視されます（指定しても意味がありません）</li>
	</ul>
	</li>
</ul>
<br>
<h4><a href="http://hal456.net/qdsmtp/mail#p0.1" name="p0.1" class="linkall"><span class="sanchor"></span>返り値</a></h4>
送信成功でtrue,エラーの場合にfalseを返します。<br>
falseであっても、一部の送信が完了している場合があります。<br>
<h4><a href="http://hal456.net/qdsmtp/mail#p0.2" name="p0.2" class="linkall"><span class="sanchor"></span>使用例</a></h4>
<pre>

$to = 'address@example.com';
$subject = 'Hello!'
$body = 'I am Spok from Valcum ..........Live log and Prosper.';

$smtp -&gt;mail( $to , $subject , $body );

</pre>
日本語を使いたい場合は、<a href="http://hal456.net/qdmail/">Qdmail</a>を併用してください。<br>

</div>

<hr>
<h4><a href="/qdsmtp/mail#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/mail#tb">■トラックバック（2件）</a></h4>
<div style="margin-left: 1em;">
<a href="http://hal456.net/qdsmtp/Howto" rel="nofollow">使い方(Howto)</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
<a href="http://hal456.net/qdsmtp/top" rel="nofollow">Qdsmtpとは</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
</div>
]]></description>
	</item>
	<item>
		<title>基本的な使い方</title>
		<link>http://hal456.net/qdsmtp/send</link>
		<guid>http://hal456.net/qdsmtp/send</guid>
		<category>未分類</category>
		<pubDate>Wed, 23 Apr 2008 12:11:46 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
必ず、<a href="http://hal456.net/qdsmtp/init" class="tag adiary-key" title="記事指定 ">初期設定</a>は行って下さい。<br>
<br>
以下のようにします。<br>
<pre>
$smtp -&gt; to( 'address@example.com' );
$smtp -&gt; data( 'ヘッダー　+　本文' );
$smtp -&gt; send();
</pre>
注意点<br>
<ul>
	<li>dataは、ヘッダーも含んだすべての本文を指定します。ヘッダーと、本文の間は、改行コード(CRLF)で区切るようにしてください（これは、SMTP規格の仕様です）。</li>
	<li>したがって、toヘッダも自分で作成する必要があります。Fromヘッダだけは、ない時は、ほんとの場合、MTAが自動的につけてくれます（ご自分で作ったtoヘッダの内容と、$smtp-&gt;to() で指定する受取人は全く別の概念です。）。</li>
	<li>宛先のアドレスは、アドレスのみを指定してください。name＜address@example.com＞は使用できません。</li>
</ul>
<h4><a href="http://hal456.net/qdsmtp/send#p0.1" name="p0.1" class="linkall"><span class="sanchor"></span>複数宛先の指定の仕方</a></h4>
<pre>
$to = array( 'address1@example.com', 'address2@example.com', 'address3@example.com',);

$smtp -&gt; to( $to );
</pre>
<h4><a href="http://hal456.net/qdsmtp/send#p0.2" name="p0.2" class="linkall"><span class="sanchor"></span>接続を持続する</a></h4>
送信の前に次のようにすると、送信が終わっても、サーバーとの接続を切らずに維持したままにします。<br>
サーバーとの接続は、時間のかかる処理です。再び、送信する用事がある場合は、接続を切らずにおいたほうが高速に動作します。<br>
<pre>
$smtp -&gt; continueConnect( true );
</pre>
又は、<a href="http://hal456.net/qdsmtp/init" class="tag adiary-key" title="記事指定 ">初期設定</a>にて次のように指定することもできます。<br>
<pre>
$param = array(
    'host'=&gt;'smtp.example.com',
    'port'=&gt; 25 ,
    'from'=&gt;'from@example.com',
    'protocol'=&gt;'SMTP',
    'continue'=&gt; true,
);

$smtp = &amp; new QdSmtp($param);
</pre>
または<br>
<pre>
$smtp = &amp; new QdSmtp( true );
（この場合は、パラメータは、$smtp-&gt;server()で指定しなければなりません。）
</pre>

</div>

<hr>
<h4><a href="/qdsmtp/send#c">■コメント（2件）</a></h4>
<div style="margin-left: 1em;">
めるばぐ『非常に使いやすいです。  ただ、ほげ&lt;hohoge@hoge.com&gt; 形式でToに送りたいのだが ２個同じアドレスが追加されて...』(2009/02/27 17:28)</span><br>
めるばぐ『２個Toに書き込まれてしまう不具合はこんな感じ クラスを継承してオーバーライド逃げました。 でもこの対応は元クラスでもしてほしい...』(2009/02/27 17:48)</span><br>
</div>
<h4><a href="/qdsmtp/send#tb">■トラックバック（2件）</a></h4>
<div style="margin-left: 1em;">
<a href="http://hal456.net/qdsmtp/Howto" rel="nofollow">使い方(Howto)</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
<a href="http://hal456.net/qdsmtp/top" rel="nofollow">Qdsmtpとは</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
</div>
]]></description>
	</item>
	<item>
		<title>初期設定</title>
		<link>http://hal456.net/qdsmtp/init</link>
		<guid>http://hal456.net/qdsmtp/init</guid>
		<category>未分類</category>
		<pubDate>Wed, 23 Apr 2008 12:10:53 GMT</pubDate>
		<author>spok</author>
		<description><![CDATA[<div class="section">
Qdsmtpは、「認証の必要のないサーバー」「POP Before SMTP」「SMTP AUTH(PLAINのみ)」の3方式に対応しています。サブミッションポートの指定がある場合でも大丈夫です。<br>
<h4><a href="http://hal456.net/qdsmtp/init#p0.1" name="p0.1" class="linkall"><span class="sanchor"></span>認証の必要のないSMTPサーバーの場合</a></h4>
<pre>
require_once('qdsmtp.php');

$param = array(
    'host'=&gt;'smtp.example.com',
    'port'=&gt; 25 ,
    'from'=&gt;'from@example.com',
    'protocol'=&gt;'SMTP',
);
$smtp = &amp; new QdSmtp($param);

</pre>
PHP5では、newの前の＆は必要ありません。<br>
サブミッションポートを指定する場合は、上記の'port'を、プロバイダから指定された数値にしてください(通常は25 -&gt; 587)。<br>
配列のキーは、大文字でも小文字を区別しません。<br>
<br>
なお、こうしたパラメータの指定は、newの時でなくてもnewの後に以下のようにすることで指定できます。<br>
<pre>
$smtp -&gt; server( $param );
</pre>
また、Fromについては以下の指定方法もできます。(0.2.0a以降）<br>
<pre>
    'from'=&gt;'&lt;from@example.com&gt;',
</pre>
または<br>
<pre>
    'from'=&gt;'&lt;from@example.com&gt; add_parameter',
</pre>
<h4><a href="http://hal456.net/qdsmtp/init#p0.2" name="p0.2" class="linkall"><span class="sanchor"></span>POP Before SMTPの設定</a></h4>
以後は、パラメータ部分のみ記載します。<br>
<pre>
$param = array(
    'host'=&gt;'smtp.example.com',
    'port'=&gt; 25,
    'from'=&gt;'from@example.com',
    'protocol'=&gt;'POP_BEFORE',
    'pop_host' =&gt;'pop.example.com',
    'pop_user' =&gt; 'username',
    'pop_pass'=&gt;'password',
);
</pre>
<br>
<h4><a href="http://hal456.net/qdsmtp/init#p0.3" name="p0.3" class="linkall"><span class="sanchor"></span>SMTP AUTHの設定</a></h4>
いわゆる「この送信サーバーでは認証が必要」というサーバーに対応するものです。<br>
ただし、PLAIN認証のみの対応です。<br>
<pre>
$param = array(
    'host'=&gt;'smtp.example.com',
    'port'=&gt; 587,
    'from'=&gt;'address@example.com',
    'protocol'=&gt;'SMTP_AUTH',
    'from'=&gt;'from@example.com',
    'user'=&gt;'username',
    'pass' =&gt; 'password',
);
</pre>
<h4><a href="http://hal456.net/qdsmtp/init#p0.4" name="p0.4" class="linkall"><span class="sanchor"></span>自動認識</a></h4>
Qdmailは、初期パラメータの'protocol'が省略された場合、SMTP AUTH -&gt; POP Before SMTP -&gt; ノーマルSMTP　の順番に接続を試みます。<br>
ご自分のサーバーの認証方式がわからない場合は、POP Before用とSMTP AUTHのパラ―メータをセットして、'protocol'を省略して使ってみて下さい。<br>
ただし、速度が遅くなるので、認証方式がわかっている場合は、明示的に指定したほうがよいでしょう。<br>

</div>

<hr>
<h4><a href="/qdsmtp/init#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/qdsmtp/init#tb">■トラックバック（5件）</a></h4>
<div style="margin-left: 1em;">
<a href="http://hal456.net/qdsmtp/send" rel="nofollow">基本的な使い方</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
<a href="http://hal456.net/qdsmtp/mail" rel="nofollow">簡単な送り方</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
<a href="http://hal456.net/qdsmtp/Howto" rel="nofollow">使い方(Howto)</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
<a href="http://hal456.net/qdsmtp/top" rel="nofollow">Qdsmtpとは</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
<a href="http://hal456.net/qdsmtp/withqdmail" rel="nofollow">Qdmailと組み合わせて、日本語メールをSMTP送信する。</a> （Qdsmtp-Simple SMTP Mailer for PHP） by spok<br>
</div>
]]></description>
	</item>
</channel>
</rss>
