SQLの窓

2018年02月25日


PMailServer Version 1.91 フリー版 を Windows10 にインストールして、Windows7 の PHP よりアクセス

PMail Server ダウンロードファイルVector より pms191f.zip をダウンロードして解凍します(その場所がインストールフォルダになるので、pmman.exe 実行前に必要ならば場所を移動させます)。その後、pmman.exe を実行すると、ウィザード( この記事に一連の入力ダイアログの画像を設置しています )が開始されるので簡単な入力した後、テスト用のユーザを一件作ればテスト環境は出来上がります。

受信テストのコードは、『Pear の Net_POP3 で、SSL(995) を使って簡単にメール受信』を使って行います( USER か APOP )

送信の pear 環境は Windows PHP(Pear)で、Gmail(SSL/465)を使ってメールを送る を参照して下さい。PMailServer Version 1.91 フリー版 のコードはこの記事の最後にあります。



PMail Server の フリー版 は必ず POP before SMTP になる仕様になっていますので、アプリケーションからメールの送信を行う場合はメーラで手動受信するか、アプリケーションから前もって受信操作を行う必要があります。

ファイアーウォールの詳細設定で、受信の新しい規則を作成

ポートの 11025 に関して受信が可能になるように規則を二つ追加します

初期ウィザード

ローカルネットワークの二つの PC でテストを行うので、サーバのアドレスは IP アドレスで設定します。

▼ 作成します


▼ 設定をを行います


▼ 次へ


▼ 管理ドメインは、ローカルネットワークでは何でもよさそうです。


▼ 設定しません


▼ ローカルネットワークなので使わないとは思いますが ipconfig /all で読み取ったアドレスを設定します


▼ これは本当になんでもいいみたいですが、できれば日本語は使用しないほうがいいです。


▼ フリー版では使用できません


▼ 推奨アカウントは必要なら作成しますが、特に目的が無い場合は作成しません








※ サービスは自動起動に設定されるので、手動に切り替えておきます。

ユーザの作成



受信用データの作成

メールクライアントで設定を追加して、受信した後メールを自分自身に送って作成します。





※ この後、パスワードを登録します。

実行コード

メールクライアントまたは PHP で受信した後、PHP で実行して送信します。
<?php
error_reporting(E_ALL ^ E_NOTICE ^ E_STRICT);

header( "Content-Type: text/html; charset=utf-8" );
header( "Expires: Thu, 19 Nov 1981 08:52:00 GMT" );
header( "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0" );
header( "Pragma: no-cache" );

require_once("Mail.php");

mb_language("ja");
mb_internal_encoding("UTF-8");

// ***********************************************
// 通信のデバッグ表示
// ***********************************************
$debug = true;

// ***********************************************
// SMTP 接続設定
// ***********************************************
$settings = array(
	"host"		=> "192.168.1.16",
	"port"		=> "25",
	"auth"		=> true,
	"username"	=> "lightbox",
	"password"	=> "password",
	"debug"		=> $debug
);

// ***********************************************
// メールアドレス
// ***********************************************
$to_address   = "lightbox@lightbox-pc";
$from_address = "lightbox@lightbox-pc";

// ***********************************************
// メール用変換文字コード
// ***********************************************
$mail_enc = "iso-2022-jp";	// JIS

// ***********************************************
// メールヘッダー
// ***********************************************
$subject = "PMailServer Version 1.91 フリー版 に PHP で送信";

// 1) mb_convert_encoding  : 内部エンコーディングから iso-2022-jp に変換
// 2) mb_encode_mimeheader : MIMEヘッダの文字列をエンコードする
// ( =?文字コード?符号方式?符号化された文字列?= というようなメール用の変換 )
$subject = mb_convert_encoding($subject,"iso-2022-jp");
$to_header = mb_convert_encoding("宛先","iso-2022-jp");
$from_header = mb_convert_encoding("差出人","iso-2022-jp");

mb_internal_encoding("iso-2022-jp");

$subject = mb_encode_mimeheader( $subject );
$to_header =  mb_encode_mimeheader( $to_header ) . " <{$to_address}>";
$from_header =  mb_encode_mimeheader( $from_header ) . " <{$from_address}>";

mb_internal_encoding("UTF-8");

$headers = array(
	"To"		=> $to_header,
	"From"		=> $from_header,
	"Subject"	=> $subject
);

// ***********************************************
// 本文( JIS 変換のみ )
// ***********************************************
$body="本文";
$body = mb_convert_encoding($body, $mail_enc );

// ***********************************************
// SMTP 接続設定をオブジェクトに設定
// ***********************************************
$smtp = Mail::factory("smtp", $settings);

// ***********************************************
// 送信
// デバッグ出力対応で、PRE要素 を付加しています
// ***********************************************
print "<pre>"; 

$result = $smtp->send($to_address, $headers, $body );

print "</pre>"; 

if ( PEAR::isError($result) ) {
	print "メール送信エラー:" . $result->getMessage();
}

?>
OK




【フリーソフトの最新記事】
posted by lightbox at 2018-02-25 21:10 | フリーソフト | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり