投稿者「」のアーカイブ

NEC MultiWriter 5000Nを修理した Brotherと部品の互換

LAN接続のレーザープリンターNEC MultiWriter 5000Nが印刷時に汚れるようになりました。
最初は1度に大量(20枚程度)のプリントをする時だけの症状だったのですが、段々症状が重くなって1枚印刷しても汚れるようになりました。

トナーが古くなったので、汚れるようになったのかなと思ってトナーを交換したら、しばらくは調子が良かったのです。でもしばらくすると、また調子が悪くなりました。
リサイクルトナーだから、不良品だったのかなと思って、またトナーを交換したのですが、症状が改善しません。
トナーが原因で無いとすると次に考えられるのはドラムです。
でもドラムって10000円ほどするんです。リサイクル品もあるのですが評判は良くないんです。
もし10000円で購入して、他に原因があったりすると目も当てられません。

NEC MultiWriter 5000Nの互換トナーを購入すると、BROTHERのトナーが送られてくるので、BROTHERのレーザープリンター(HL-2170W、HL-2140、MFC-7840W、MFC-7340、DCP-7040、DCP-7030」や富士ゼロックスのレーザープリンター(DocuPrint 2020)と部品の互換性があるような感じです。それらは全部、BROTHERで製造しているようです。
それで、メルカリで互換性のある機種の純正ドラムが出品されてないかチェックしていたんですが、メジャーな機種では無いようで、なかなかそれらの機種のドラムが出品されません。

しばらく待っていると、BROTHERのHL-2170Wのジャンク品(紙詰まりするけど400枚程度の印刷)送料込み3000円というのを見つけ購入しました。不要な部分を捨てるのが面倒なので、トナーとドラムだけを送ってもらいました。

さっそくトナーとドラムを取り付けてみようと思ったのですが、NEC MultiWriter 5000Nに挿入できません。
見た感じ同じなんだけどなあ。

でも、よく見ると若干違ったところがあります。
他のメーカーのトナーとドラムを購入しないようにメーカー毎に、形状を若干変えているようです。
画像の下のNEC MultiWriter 5000N用のトナーの裏側には突起物は無いですが、画像の上のBROTHERのHL-2170W用のトナーの裏側には突起物があるのです。リサイクルのトナーはBROTHERのトナーだけど突起物は切ってありました。

ニッパとカッターとやすりで、リサイクルトナーと同様に、突起物を削ったらNEC MultiWriter 5000N用のドラムにも使えるようになりました。

NEC MultiWriter 5000N用のドラムと、BROTHERのHL-2170W用のドラムでは若干形状が違っていて、NEC MultiWriter 5000の蓋が閉じれなくなっていました。
画像の上のNEC MultiWriter 5000N用のドラムは、下の画像の矢印の位置で、蓋の突起物が収まるようになっていて、画像の下のBROTHERのHL-2170W用のドラムだと、その部分が空いていないので蓋の突起物にぶつかるのです。

こちらのほうもニッパーとカッターで画像の下のDR-21Jを画像の上のPR500D-31の矢印のように削りました。ちょっと汚なくなりましたが大丈夫です。

NEC MultiWriter 5000Nに実際に設置しましたが、汚れもなく綺麗にプリントできました。

完全に修理成功です。やったね。

トナーの予備が増えたので、当分トナーを購入しなくても使えます。



Bootstrapはホームページ制作に必須のツール

2019年5月13日

PHPの勉強で「金沢近郊の激安の中古住宅を紹介」という掲示板とデータベースを駆使したサイトを製作したのですが、その時に参考にしたプログラムでBootstrapというものに出会いました。

Bootstrapは、最も有名なWEBフレームワークだそうです。WEBページでよく使われるフォーム、ボタン、メニューなどの部品がcssのテンプレートとして用意されていてモバイル対応にも優れているそうです

Bootstrapの公式サイトからDownload Bootstrapをクリックしてダウンロードして、解凍したファイルをそのままサイトにアップロードします。
必要なファイルは限られているようですが、全部アップロードしたほうが安心です。

jQueryの公式サイトからダウンロードした最新の「jquery.min.js」をJSフォルダにアップロードします。今回の最新のものはjquery-3.4.1.min.jsでした。

これで準備ができます。
もし他のサイトを参考に、そのままソースファイルを使う場合は、Bootstrapのバージョンを合わした方が無難です。バージョンが違っていると正常に動作しない場合があります。

<head> と </head>の間に

<link rel=”stylesheet” href=”https://******.***/css/bootstrap.min.css”>
<link rel=”stylesheet” href=”https://******.***/css/bootstrap-theme.min.css”>
<meta name=”viewport” content=”width=device-width, initial-scale=1″>

を挿入します。アドレス(******.***)は自分がアップロードしたアドレスを記入します。

</body>のすぐ後に

<script src=”https://******.***/js/jquery-3.4.1.min.js”></script>
<script src=”https://******.***/js/bootstrap.min.js”></script>

を挿入します。jquery-3.4.1.min.jsはバージョンによって数字の部分が違っています。
bootstrap.min.jsとbootstrap.min.cssとbootstrap-theme.min.cssは同じバージョンのものを使う方が無難です。今回はバージョン3.3.7を使いました。
https://getbootstrap.com/docs/3.3/getting-started/

サイトを希望の幅にする場合は、<head>と </head>の間に、

<STYLE>
<!–
@media (min-width: 800px) {
.container {
max-width: 800px;
}
}
–>
</STYLE>

を挿入します。

今回は、参考にしたプログラムを修正するだけにBootstrapを調べてみたのですが、いろんなケースで利用できそうなので、もうちょっと踏み込んで使ってみようと思います。

とりあえず、今年作ったシルバーエイジの金沢での生活情報をBootstrapを使って作り変えています。

参考になるサイトは

https://techacademy.jp/magazine/6270
http://proengineer.internous.co.jp/content/columnfeature/12468
http://websae.net/twitter-bootstrap-grid-system-21060224/
https://www.sejuku.net/blog/75031
https://getbootstrap.com/docs/3.4/css/
https://qiita.com/akatsuki174/items/53b7367b04ed0b066bbf

サイドデーブルでメニューなどを入れている場合は下記のようにすると、スマートフォン環境でメニューが下に表示するようになります。

<div class=”container”>
<div class=”row”>
<div class=”col-sm-9 col-xs-12″>
メインの部分を挿入
</div>
<div class=”col-sm-3 col-xs-12″>
メニューの部分を挿入
</div>
</div><!– /row –>
</div><!– /container –>

Bootstrapでサイドバーでメニューを入れる場合、左側にメニューを入れる場合、スマートフォンではメニュー部分は本文より先に表示されて、右側にメニューを入れる場合、スマートフォンではメニュー部分は本文より後に表示されるように決まっているいるようです。

tableの罫線に色をつけるときに
<TABLE  bgcolor=”#fbe48c” >と<TD bgcolor=”#ffffff”>の組み合わせを多用しているのですが、機能しなくなりました。
機能しなくなった原因が分からないのですが、<head>と</head>との間に

<STYLE>
<!–
.line { border-style: solid;
border-color:#fbe48c;}
–>
</style>

を挿入し

<TABLE cellspacing=”1″ bgcolor=”#fbe48c” border=”1″ class=”line”>

で対応することにしました。Bootstrapでは罫線が見えなくなることが多いようです。

スマートフォンでは表示させない部分を設定する場合は下記のページを参考にしました。
http://studio-key.com/Bootstrap/glidDecoration03.html

<div class=”hidden-xs”>
スマートフォン環境で消したい部分を挿入
</div><!– / hidden-xs–>

Bootstrapは便利だけど出来る事は限られていて万能ではないです。特にサイドバーの設置については、出来ることは少ないです。基本的にはサイドバー無しのページを作る場合の便利なツールといえます。
でも利用する価値はあると思います。

メルカリで「Bootstrapファーストガイド : CSS設計の手間を大幅に削減!」を800円で購入しました。

2019年5月15日

シルバーエイジの金沢での生活情報をBootstrapを使って作り変えました。
すっきりとしたページになりました。

2019年5月16日

「Bootstrapファーストガイド : CSS設計の手間を大幅に削減!」は沖縄からの出品だったので、届くのが遅くなると思っていたのですが、意外と早く着きました。

さっと内容を見ると、画像のサイズを自動調整したり、画像の上に文字を入れたり、画像を丸く切り取ったり、表示する画像を入れ替えたり、いろいろ出来るようです。

2019年5月17日

「Bootstrapファーストガイド : CSS設計の手間を大幅に削減!」を読んで、今まで理解できなかった基本的なことが、やっと理解できるようになりました。
やっぱり、ネットだけではなく、ちゃんとしたテキストも必要だと実感しました。

それにしても、読めば読むほどBootstrapは便利です。スマートフォン対応には必須のツールだと思います。今までスタイルシートは避けてきたのですが、スタイルシートの詳しい知識が無くてもプロのようなページが作れます。
特に、一番上に設置するメニューの種類は豊富ですし、テーブルを多用したページをスマートフォン対応にするには最高のツールだと思います。

不動産のページのBootstrapを使った部分を自分好みに変更しようと思います。

2019年5月18日

Bootstrapでラインや背景の色を変更するには<head>と</head>との間に

.form-custom {
background-color: #fef3e2;
color:#fff;
border-radius:0;
border-color: #fbe48c;
}

を挿入して、class=”form-control” のところに class=”form-control form-custom” のようにform-customを挿入します。form-customは任意の名前で良いです。
border-radius:0; は角丸の設定です。

パーツを任意の幅で中央に表示するには、例えば幅を全体の半分にするには
<div class=”col-sm-6 col-sm-offset-3″ >
幅を全体の3分の2にするには
<div class=”col-sm-8 col-sm-offset-2″ >
です。



PHPのホームページの中に掲示板も設置してみました

2019年4月13日

Swiperを設置したホームページが完成したので、PHPのホームページの中に掲示板も設置してみようかなと思います。
PHPって、本当に面白いです。

2019年4月20日

最初にMySQLのデータベースのテーブルを設定しました。
kimassi_userデータベースで、user_id ,user_name ,user_nickname ,user_email ,user_password ,user_juusyo
kimassi_toukouデータベースで、toukou_id ,toukou_comment ,toukou_date ,toukou_bukken ,toukou_user_id
です。

2019年4月28日

大苦戦しています。
ネットでPHPの掲示板の検索をしてますがPHP7対応の物がほとんどなく、そのままちょっとした改造で使えるものは見つかりません。
その中でも、https://manablog.org/php7-review-bulletin-board/ のサイトが最も求めるものに近いかなと思い、それを基本にして掲示板を作る事にしました。
ただ、この掲示板のプログラムはデータベースの接続方法が最新のPDOを採用してないので、苦戦は覚悟していました。
最初は、データベースの構造も自分向けに改造し、しかも一挙にPDO対応で作ろうと思ったのですが、どうもうまく動作しなく、とりあえずはデータベースの構造だけ変更して、データベースMySQLへの接続方式は、$mysqliでMySQLに接続する仕様のままで動作確認をして、それからPDO対応に改造する方針に切り替えました。
なんで、これだけ苦戦しているのかというと、PHPファイルが単独で動作していないので、複数のファイルが完璧になって初めて正常に動作するのです。しかもデータベースを使うので、共通の仕様にする必要のある部分もあって、ファイルを1つ1つ仕上げていくという訳にはいかないのです。

2019年4月29日

なんとか、すべての機能を動作させることに成功しました。
かなり手を加えました。
これからPDO仕様に改造します。

2019年5月2日

$mysqliでMySQLに接続するプログラムをPDOでMySQLに接続する仕様に作り変えるのはかなり大変です。
今まで気づいたことをなんでもメモしておきます。

function login_user($user_email,$user_name,$user_nickname,$user_tel,$user_juusyo,$user_password,$pdo)
では使用するすべてのカラムの変数と、 $stmt = $pdo->prepare($sql); の変数$pdoを必ず記載する必要があります。

$stmt = $pdo->prepare( について、変数名$stmt、変数名$pdoは関係するプログラムすべてで統一する必要があります。自分で使う変数を統一しておく癖をつけておいたほうが良いようです。

if文で条件が同値の場合は == 条件が2つの分岐は elseif

他のページでも変数の値を受け取れる$_SESSION変数を使う場合は、$_SESSION変数が登録されていない場合の処置(if文)も必要。$_SESSION[‘log’]の場合は
if (!isset($_SESSION[‘log’]))

$_SESSION変数を使う場合は、session_start();が必要で、同じページ内で重複して使うとエラーになるので、functionのページには挿入しないほうが良い。
functionのページには2つの内容のfunctionは入れないほうが良い。

http://localhost/hudousan/public/detail.php?no=1 の1を取得して他のページでも使う場合は

$_SESSION[‘id’]= $_GET[‘no’];

2019年5月5日

なかなか正常に動作しなくて、悩み続けていたのですが、結局、MYSQLの設定が変わっていて、AUTO_INCREMENTが正常に動作していなかったのが主な原因でした。

$sqlの登録

$stmt = $pdo->prepare($sql);
$stmt->execute();

は正常に行われていたのですが、それを実行

$stmt->execute();

しても動作しなかったのです。
$sqlの内容を、直接 MySQLのSQLで直接記入し(copy&pasteできないので)実行させたのですが、何の反応もなく動作しませんでした。
それでプログラムの不備でなくてMYSQLの構造に不備がある事が判明しました。
テーブルtoukou にはtoukou_id というカラムがあるのですが、AUTO_INCREMENTが、うまく動作していなかったようです。

それにいたるまで、Yhooの知恵袋でも、いろいろ教わったし、勉強にもなりました。

次は、投稿内容を運営者と出品者にMAILを送るようにする事です。

【PHPでメール送信】XAMPPのローカル環境上でPHPを使って自分のgmailからメールを送信する


を参考に

XAMPP環境でメールを送る場合はSMTPの設定をC:\xampp\php\php.ini([mail function]のところの変更)、C:\xampp\sendmail/sendmail.ini のSMTPの設定を書き換えました。
Apacheの再起動をしてから設定が有効になりました。
無事、正常に動作しました。

次に、ユーザー登録で、住所と電話番号は任意にしました。
入力があれば、入力を登録し、入力が無ければnullを登録します。
住所と電話番号のカラムはnullでも対応できるようにMySQLを設定しておきます。

if(isset($_POST[‘user_tel’])){$user_tel = $_POST[‘user_tel’];}
else{$user_tel =null;}
if(isset($_POST[‘user_juusyo’])){$user_juusyo = $_POST[‘user_juusyo’];} else{$user_juusyo = null;}

掲示板単独では動作するようになったので、ページの内部に掲示版を挿入しようと思います。

2019年5月6日

XAMPP上ですが、ページの内部に掲示版を挿入することに成功しました。

やったね!!

よく見ると、スタイルシートが外部のサイトと接続して参照されているので、そのサイトが閉鎖されたり移転されると正常に表示されなくなる心配があるので、変更が必要だと気づきました。

2019年5月7日

XAMPP上ですが、ページの内部に掲示版を挿入することに成功しました。

http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js
https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js

リンク先のスタイルシートは自分のサイトにインストールすることも可能なようです。BootstrapからDownload Bootstrapをクリックしてダウンロードして、解凍したファイルについて

Bootstrapの公式サイトからダウンロードしたCSSファイル「bootstrap.css他」をCSSフォルダ(元々CSSフォルダに入っている)に入れる。
Bootstrapの公式サイトからダウンロードしたJavascriptファイル「bootstrap.js他」をJSフォルダ(元々JSフォルダに入っている)に入れる。
jQueryの公式サイトからダウンロードしたjavascriptファイル「jquery.min.js」をJSフォルダに入れる。

無事、動作しました。

2019年5月9日

いろいろと試行錯誤して、PDO::FETCH_ASSOC や #result =$stml_>fetch(); などFETCH関数は意味も分からずむやみに使わない方が良いようです。

MySQLからデータを取り込む場合は

$sql=”SELECT user_id,user_email,user_name,user_nickname,user_tel,user_juusyo,user_password
FROM user WHERE user_email = ‘$user_email'”;

$stml = $pdo->prepare($sql);
$stml->execute();

foreach($stml as $result){
$db_hashed_pwd = $result[‘user_password’];
$user_id = $result[‘user_id’];
}

みたいな感じで取得すれば良いようです。

最近、苦労してるのは、他のページやページをリダイヤルする
header(“location: ページURL”);
ですが、かなり制約があって難しいのです。
XAMPP上では正常に動作するのにインターネット上だと動作しない事もあったりします。
header()の前に文字を表示したりするとダメみたいなのですが、実際にどういう場合にはダメなのか、よくわかりません。
それとセッション変数を使っている場合に、途中で登録したデータが消えるという事です。
この2つが解決すると、PHPのプログラムでの不具合が随分減ると思います。

2019年5月10日

セッション変数に登録したデータが消える件は、解決法が見つかりました。
サーバーにあるphp.ini の編集をします。

xrea(coreserver)サーバのトップページからログインします。
php設定から自分のサイトで使っているのPHPバージョンを調べます。自分はphp7.2でした。
FTPでサーバにつなぎpublic_html配下の.fast-cgi-binフォルダ配下のphp53.ini,php54.ini,php55.ini,php56.ini,php70.ini の当該バージョンのphpXX.iniを編集します。
自分の場合はphp7.2.iniです。

session.auto_start = 0 なっているのを session.auto_start = 1 に変更してアップロードします。
これで一挙に解決しました。
ファイル上で、session_start(); が有効に動作しない場合もあるようで、session.auto_start = 1 にすると、常にセッション変数が有効になるようです。

2019年5月11日

セッション変数が記憶されない件と、メールが送れない件と同時に試行錯誤したので、何が原因でメールを送れないのかはっきりしないのですが、無事送れるようになりました。
メールは運営者である自分と、その物の売主に送るように設定しています
下記をCOPY&PASTEすると”や ‘が全角になるので注意して使ってください。
最初のプログラムでは
$to = “kimassi@spacelan.ne.jp,$adress”;
$title = ‘金沢近郊の激安の中古の戸建て物件’.$no;
$content = $add_toukou;
$from = ‘From: kimassi@spacelan.ne.jp’ . “\r\n”;
$result = mb_send_mail($to, $title, $content,$from);
if($result){
echo “メールを送信しました”;
} else {
echo “メールの送信に失敗しました”;
}

 

で、念のためSMTPでも送れるようなプログラムも作ってみました。
PHPMailerを使います。

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require ‘../src/Exception.php’;//ディレクトリを確認し修正が必要
require ‘../src/PHPMailer.php’;//ディレクトリを確認し修正が必要
require ‘../src/SMTP.php’;//ディレクトリを確認し修正が必要
/* オブジェクト生成 */
$mail = new PHPMailer(true);
try {
/* サーバー設定 */
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->Host = “mail.spacelan.ne.jp”;
$mail->Username = “メールサーバーのIDを記入”;
$mail->Password = “メールサーバーのパスワードを記入”;

$mail->Port = “587”;
/* 送受信者設定 */
$mail->setFrom(“kimassi@spacelan.ne.jp”, “激安戸建て”);
$mail->addAddress(“kimassi@spacelan.ne.jp,$adress”);
$mail->addReplyTo(“kimassi@spacelan.ne.jp”, “激安戸建て”);
/* コンテンツ設定 */
$mail->CharSet = “UTF-8”;
$mail->Encoding = “base64”;
$mail->Subject = “‘金沢近郊の激安の中古の戸建て物件’.$no”;
$mail->isHTML(【HTMLメール:`true`or`flase`】);
$mail->Body = “h($add_toukou)”;
/* メール送信試行 */
$mail->send();
} catch (Exception $e) {
/* 例外処理 */
die(“Message could not be sent. Mailer Error: “.$mail->ErrorInfo);
}

SMTPでも送れるようにするには、
Exception.php 、PHPMailer.php 、SMTP.php
をアップロードしておかなければいけません。
https://github.com/PHPMailer/PHPMailer/
でダウンロードできます(srcfフォルダ内にあります)。

「C:\xampp\php\php.ini」を編集して「include_path」の項目でinclude_path=”.;C:\xampp\php\PEAR” をinclude_path=“.;C:\xampp\php\PEAR;C:\xampp\php\PHPMailer”  に変更が必要です。

extension=php_openssl.dll の部分を行頭にセミコロンがあれば削除して有効化します。

これでSMTPでメールを送れるようになるはずです。

参考にしていた掲示板のサンプルプログラムでcssの制御にBootstrapが使われていたので、そのまま使っていたのですが、修正もしたいし、便利そうなのでBootstrapの勉強もしようと思います。
Bootstrapは、最も有名なWEBフレームワークだそうです。WEBページでよく使われるフォーム、ボタン、メニューなどの部品がテンプレートとして用意されていてモバイル対応にも優れているそうです。BootstrapではSwiperを使わなくても画像の入れ替えもできるようです。

2019年5月12日

Bootstrapの使い方を知らないままに、参考にしたサイトのままで使っていたのですが、選択画面の位置関係がどうしても気に入らなくて、いろいろ調べてみましたが、なかなか解決しなく苦戦していました。
結局、下記の方法で、希望の幅で表示する事が可能になりました。
(当然<head>より下で</head>より上の方に挿入します)

<STYLE>
<!–
@media (min-width: 800px) {
.container {
max-width: 800px;
}
}
–>
</STYLE>

あと、選択画面のメニューが狭い画面(スマートフォンなど)だと横線3本の表示になりますが、それをクリックしてもメニューが表示されません。ハンバーガーメニューというものらしいです。
XAMPP上では正常に動作しています。
これも解決しければいけません。

header(“location: ページURL”); が動作しない件は、他の件について試行錯誤していたら、知らない間に動作するようになりました。
プログラム上のトラブルでは無かったのかもいれません。
他のプログラムの変更以外は設定など変更したところは無いので不思議です。

ハンバーガーメニューの件も動作するようになりました。
</body> のすぐ後に
<script src=”https://kimassi.net/hudousan/js/jquery-3.4.1.min.js”></script>
<script src=”https://kimassi.net/hudousan/js/bootstrap.min.js”></script>
を入れる事と、jquery-3.4.1.min.jsをダウンロードしてアップロードすることが重要です。
それと、
https://kimassi.net/hudousan/css/bootstrap.min.css
https://kimassi.ne/hudousan/css/bootstrap-theme.min.css
については参考にしたプログラムとバージョンを合わせる事が必要ですし、念のため、ダウンロードしたBootstrapのファイルは全てアップロードしておいたほうが無難です。

https://techacademy.jp/magazine/6270
http://proengineer.internous.co.jp/content/columnfeature/12468

が参考になりました。

一応、すべて完成しました。1ヶ月もかかりましたがPHPの勉強になりました。

https://kimassi.net/hudousan/hudousan.php

2019年5月19日

投稿があった時に、運営者と出品者にメールを送るようにしてあるのですが、Gmailのアドレスへ送るとメールが届かないようです。
自動送信メールはSMTP経由で送るようにした方が無難なようです。

SMTPで送るプログラム(PHPMailer使用)も作ってあったのですが、再び使うとインターネット上でもXAMPP上でも動作しなくなっていました。
おかしいなあ、以前は動作していたんだけど・・・・・・

ちなみに、spacelan ,gmail,yahoo,coreserverのいずれのサーバーで設定しても、SMTPホストへの接続ができません。
PHPMailerのバージョンとプログラムの書式の相性の問題かもしれません。
PHPMailerの使い方を説明したサイト自体が少なく、バージョンなど環境が一致しないので、なかなか自分の環境に合うものが見つからないのです。
古いバージョンのPHPMailerを使ったほうが良いようです。

2019年5月20日

PHPMailerのバージョンを6.0.7から5.2.27に入れ替えたら、gmailやcoreserverからは送れました。でもspacelanからは送れません。

それと、header(“location: ページURL”); が動作しなくなりました。メールを送る処理に時間がかかるせいかもしれません。
usleep(2000000); を入れて動作を一時停止をしても状況は変わりません。

2019年5月21日

PHPMailer使用してSMTPでメールを送ってもGmailでは受け取りを拒否するようです。
coreserverやspacelanやyahooメールでは受けとれます。

coreserverのSMTPから送る設定にしていましたが、XAMPP環境ではメールを送れていましたが、インターネット環境からはメールを送れません。
問題山積です。

spacelanからメールを送れない件はプロバイダ(金沢ケーブルテレビ)に問い合わせしておきました。

2019年5月23日

インターネット上でのPHPMailerの不具合とheader(‘Location:の不具合に苦戦しているのですが、それで、問題点を整理してみました。基本はXAMPPの環境で下記のPHPプログラムで動作確認しました。

<?php

mb_language(“japanese”);
mb_internal_encoding(“UTF-8”);

//ソースを全部読み込ませる
//パスは自分がPHPMailerをインストールした場所で

require dirname(__FILE__).’./../../php/phpmailer/PHPMailerAutoload.php’;

require dirname(__FILE__).’./../../php/phpmailer/language/phpmailer.lang-ja.php’;

//autoloderはcomposerでのインストールじゃないとないので
//あえて記述しません。

//SMTPの設定
$mail = new PHPMailer;//インスタンス生成

$mail->IsSMTP();//SMTPを作成
$mail->Host = ‘s197.coreserver.jp’;//メールの環境に合わせて
$mail->SMTPAuth = true ; // SMTP認証を有効に
$mail->CharSet = ‘utf-8’;//文字セットこれでOK

$mail->Username = ‘mail@kimassi.net’; // ユーザー名
$mail->Password = ‘***********’; // パスワードを記入
$mail ->SMTPSecure = ‘STARTTLS’ ; // TLS暗号化を有効に
$mail->Port = 587;//tlsは587でOK

$mail->SMTPDebug = 2;//2は詳細デバッグ1は簡易デバッグ本番はコメントアウトして
$mail->isHTML(true); // HTML形式のメールに設定
//メール本体

$mail->setFrom(‘mail@kimassi.net’,’激安戸建て’); //差出人の設定

$mail->Subject = ‘金沢近郊の激安の中古の戸建て物件’;//件名の設定
$mail->Body = ‘メッセージ本体coreserver’; //メッセージ本体
$mail->AddAddress(‘kanadylan@gmail.com’); // To宛先
$mail->addReplyTo(‘kimassi@spacelan.ne.jp’); //返却アドレス
$mail->addCC(‘syun@kimassi.net’); // Ccアドレス
$mail->isHTML(true);
if(!$mail->send()){
echo ‘Message could not be sent. Mailer Error: ‘, $mail->ErrorInfo;
} else {
echo ‘Message has been sent’;
}

?>
<?php
header(‘Location:https://www.yahoo.co.jp/’);
?>

XAMPP環境では上記のプログラムではSpacelanからはメールを送れませんが、gmailとcoreserverからはメールを送れました。
header(‘Location:https://www.yahoo.co.jp/’); はこれだけの内容だと機能しています。

インターネット上では
require dirname(__FILE__).’./../../php/phpmailer/PHPMailerAutoload.php’;require dirname(__FILE__).’./../../php/phpmailer/language/phpmailer.lang-ja.php’;
の部分を
require_once ‘https://kimassi.net/hudousan/phpmailer/PHPMailerAutoload.php’;
require_once ‘https://kimassi.net/hudousan/phpmailer/language/phpmailer.lang-ja.php’;
に変更しましたが動作しませんでした。
require_once ‘https://kimassi.net/hudousan/phpmailer/PHPMailerAutoload.php’;
require_once ‘https://kimassi.net/hudousan/phpmailer/language/phpmailer.lang-ja.php’;
でも動作しませんでした。

require dirname(__FILE__).’/phpmailer/PHPMailerAutoload.php’;
require dirname(__FILE__).’/phpmailer/language/phpmailer.lang-ja.php’;
にすると動作するようになりました。
絶対パスってhttps://から入れれば良いという事では無いようです。

ちなみに、階層を登ってパスする場合は
require dirname(__FILE__).’/../phpmailer/PHPMailerAutoload.php’;
require dirname(__FILE__).’/../phpmailer/language/phpmailer.lang-ja.php’;
のようにします。
もしrequireが書かれたファイルが元のPHPプログラムではなく、FUNCTIONのPHPプログラムであれば、dirname(__FILE__)はFUNCTIONのPHPプログラムの位置になります。

但し、coreserverからはメールを送れましたが、gmailからは重大なセキュリティ通知が届きました。gmailも身に覚えがあると通知したら、メールを送れるようになりました。

また、いつの間にかgmailでもPHPMailer使用してのSMTPからのメールを受け取れるようになりました。

インターネット上でのPHPMailerの不具合の原因は、絶対パスの記述方法の間違いでした。
こういうのは、ちゃんとエラー表示する設定にしておけば、すぐにわかる事なのかもしれません。
XAMPP上ではエラー表示するけど、ネット上ではエラー表示しないので、ネット上のphp.iniを触ったのだと思います。
とりあえず、プログラム製作中は、プログラム中に
ini_set( ‘display_errors’, 1 );
を入れることにしました。

メールの問題が解決したら、header(‘Location:も解決しました。
header(‘Location: は他に不具合があると正常に動作しないようです。

やっと全てが問題なく動作するようになりました。



FMの番組 A・O・R が、なかなか良いです

FM石川の番組欄を見ていたら、ドクタージョン特集とかアラブポップ特集やハンガリー音楽特集なんて超マニアックな音楽をかけている番組「A・O・R」が目について気になっていたのです。

それで録音して聞いてみる事にしました。
月曜から木曜の19:00時から21:00時まで放送されていて、19:00時から20:00時まではアダルト・コンテンポラリー・サウンドにこだわり聞きやすくセンスの良い曲がかけられています。
JFNが製作してる番組です。
20:00時からは特集でロック、ジャズ&ボーカル、日本の歌謡史、ワールドミュージックなど幅広いジャンルを特集しています。
でもあくまでも聞きやすいという事をテーマにしているようでポップな曲が多いです。
パーソナリティはユキ・ラインハートで、適度な説明で、ほとんどの時間が曲のオンエアで占められて、選曲も良く楽しめます。
今まで耳にする事の無かった良い曲に出会えそうで楽しみです。お奨めです。

この分野の番組が長続きするとは思えませんが、長く続くことを祈っています。