PHPのHTMLメールで添付ファイル

なぜかmb_send_mailはだめでmail関数です。

ググってみると、mb_send_mailで日本語の処理がうまく行かずにmailを使用している例はありますね。本来なら日本語は得意のはずなのですが、ローカルの仮想サーバーなので簡単にテストが出来,かなり試しましたが日本語が [ ] になります。文字化けでもないし、消えている感じです。元々mail関数でテキストの送信をやっていたので、HTMLの送信で、添付ファイルを付けます。

それぞれContent-Typeが異なるので BOUNDARYでエンコードを変えていきます。以下サンプルです。動作環境はWINDOWS10 XAMPP でphp7.4.8です。

22行目 $body.="\n"; を忘れてHTMLが表示されなくなりました。

<?php

/*****************************/
/*   メール送信      */
/*****************************/
function SendAttachedMail( $mail_from , $mail_to , $subject , $body_html , &$file ){
	$subject="=?iso-2022-jp?B?".base64_encode(mb_convert_encoding( $subject , "jis" , 'utf-8' ))."?=";
	$mail_from_name = $mail_from;
	$boundary = "__BOUNDARY__". uniqid( rand() , true ) . "__";
	//
	mb_language( 'Japanese' );
	mb_internal_encoding( 'UTF-8' );
	//--ヘッダー
	$headers= "MIME-Version: 1.0\n";
	$headers .="Content-Type: Multipart/Mixed; boundary=\"$boundary\"\n";
	$headers .="From: " . mb_encode_mimeheader($mail_from_name) . "< $mail_from >\n";
	$headers .="Content-Transfer-Encoding: 7bit\n";
	// body
	$body="--$boundary\n";
	$body.="Content-Type: text/html; charset=\"UTF-8\"\n";
	$body.="Content-Transfer-Encoding: binary\n";
	$body.="\n";
	$body.=$body_html."\n"; 
	// 添付ファイル
	 if ($file) {
			foreach ($file as $value){
				$filename = mb_encode_mimeheader( mb_convert_encoding( basename( $value ) ,  "ISO-2022-JP" , 'auto' ) );
				$body .= "--$boundary\r\n";
				$body .= "Content-Type: application/octet-stream; name=\"$filename\"\r\n";
				$body .= "Content-Transfer-Encoding: base64\n";
				$body .= "Content-Disposition: attachment; filename=\"$filename\"\r\n";
				$body .= "\n";
				$body .= chunk_split( base64_encode(file_get_contents($value) ), 76 ,"\r\n" );
				$body .= "\r\n";
			}
	 }
	$body .= "--$boundary--\r\n";
	// 送信部分
	if(!mail ($mail_to,$subject, $body , $headers)){
	  echo "送信失敗";
	}else{
	  echo "送信成功";
	}
}
/*------------------------------------
			本文
------------------------------------*/

$data[0]="次元";
$data[1]="哲郎";
$data[2]="ジゲン";
$data[3]="テツロウ";
$data[4]="男";
$data[5]="2000/01/01";
$data[6]="35歳";
$data[7]="hoge@hogehoge.com";
$data[8]="000-0000-0000";
$data[9]="心象のはひいろはがねからあけびのつるはくもにからまりのばらのやぶや腐植の湿地いちめんのいちめんの諂曲模様";
//
$body = "<html><body>";
$body .="お問合せ頂きありがとうございます。<br>\r\n";
$body .= "<hr><br>\n";
$body .= "<img src=\"https://~/images/ojigi.png\" height=\"200\" align=\"left\">\r\n";
$body .= "お名前カナ:[ $data[2] ] [ $data[3]] <br>\r\n";
$body .= "お名前漢字:[ $data[0] ] [ $data[1] ] <br>\r\n";
$body .= "性別:$data[4] <br>\r\n";
$body .= "生年月日:$data[5] <br>\r\n";
$body .= "年齢:$data[6] <br>\r\n";
$body .= "メールアドレス:$data[7] <br>\r\n";
$body .= "電話番号:$data[8] <br>\r\n";
$body .= "ご相談内容:<br>\r\n";
$body .= "$data[9] <br><br>\r\n";
$body .="<hr><br><b>写真の入力はここをクリック</b><br>\r\n";
$body .="<img src=\"https://~/images/clear.gif\">";
$body .="<a href=\"https://~\"><img src=\"https:~/images/bt1.png\"></a>";
$body .="<img src=\"https://~/images/clear.gif\">";
$body .="</html></body>";
//---- 添付ファイル---
$file[]="./tmp/aaa.jpg";
//
//---- 送信 ----
//
$mail_to="apon@hoge2hoge2.com";
$mail_from=$data[7];
SendAttachedMail($mail_from ,$mail_to , 'Test-ホームページ',$body, $file );
?>

メーラーも「Outlook」「WIndowsメール」「Thunder bird」「秀丸メール」で表示する事を確認しています。

Thunderbird

htmlの画像はサンプルプログラムの実行なので表示されてませんが最後の画像は添付ファイルです。

ランチャー

ミサイルの発射装置ではありません。パソコンのプログラムをショートカットで実行させるプログラムです。

MS-DOS時代から歴史あるソフトですが、ディスクトップにべたべたと貼っていて何かの拍子に移動したり、無くなったりしませんか?ランチャーを使うと固定できます。

↑ ディスクトップの背景を日替わりにして今日は見難いのですが、横配置や2列、3列などの配置が簡単でページの選択も可能です。拡大すると ↓ こんな感じです。

私的にお勧めはCLaunchで無料で公開されています。サイトはここダウンロードはVectorのサイトでできます。超優れもので高評価です。このようなソフトに出会うと嬉しいですね。

設定は多種多様で、常に表示させたり、クリックで表示させたりできます。ショートカットより便利です。

Google関係のアイコンです。

追記 2021/4/20

この表示はスキン、Vista-styleを使用しています。ディスクトップからドラック&ドロップで登録できるのも魅力です。

アフリエイトで広告を自動切替!

WorldPressでアフリエイトをしている場合、A8とかの広告素材を時間で切り替えます。

管理画面で「外観」→「ヴィジェット」のテキスト内に配置します。

注意!ここのサイトには使ってません。ここはGoogleが自動で表示しています。

Worldpress
<div id="cm0">

<!-- 広告1 -->

</div>
<div id="cm1">

<!-- 広告2 -->

</div>
<div id="cm2">

<!-- 広告3 -->

</div>
<div id="cm3">

<!-- 広告3 -->

</div>
<script type="text/javascript" language="javascript">
	var num=-1;
	countup();
	function countup(){
		document.getElementById("cm0").style.display ="none";
		document.getElementById("cm1").style.display ="none";
		document.getElementById("cm2").style.display ="none";
		document.getElementById("cm3").style.display ="none";
		num=num+1;
		if (num>3) num=0;
		document.getElementById("cm"+num).style.display ="block";
		setTimeout(countup, 10000);
	}
</script>

広告の部分にそれぞれの広告スクリプトを入れてください。

4つ用ですが、1つの枠に2つ入れると8つを切替えられます。スクリプトを変えれば、2つから複数の表示にかえれますので調整してください。

同じ画面上に2つ以上設置するなら、id= を変えてください。同じidの名前は使えません。
また、function countup(){ も function countup2(){ などに名前を変えてください。

簡単に作っています。広告内容で高さが変わりますので注意です。

2021/4/30 追記
このサイトに改良版と自動生成が上がっています。

Windows10 20H2 古いNASにつながらない!

LS-WX1.0TL/R1に繋がらない

Buffaloのソフト、NASNavigaton2では見えてるが、フォルダーを表示しない。

ところが、別のパソコンは認識している。これも同じバージョン20H2の最新
今頃かと思うでしょうが、以前に20H2に更新した時にあまりに調子が悪く、起動が遅いとか、画面が消えるとかの問題があり回復から「前のバージョンに戻す」で1909に戻して使っていました。2度も更新は来ないと思っていたのだがしつこく、勝手に更新されてしまいましたので何とかつなげようと頑張ってみました。

症状は改善しているかと思ったが、何も変わらい!1909から20H2にする必要性を感じないのだが、とにかくトライしてみることに!

検索で多く目にするのがSMBの設定です。

>SMBの1.0CIFSを3つともON

認識しているパソコンでは下記の通り、初期設定のままです。
これで認識していますが、NASを認識していないパソコン設定を変更して再起動しても症状は変わりませんでした。


>管理者を新登録して再起動

これも同じ症状で認識しません。

>サーバーをIPアドレスで表示、これも同じでエラーです。
>ネットワークを「プライベート」「パブリック」の確認。プライベートになっていますが、なぜか「パブリック」に切り替わりません。LANアダプターをリセットして再起動すると「パブリック」で起動しました。DHCPの設定が「手動」から「自動」になっていたので「手動」に戻そうとするとなりません。20H2のバグ? あちら、こちらを触っているといきなり再起動、再起動後は「手動」から「自動」に代わっていました。「パブリック」「プライベート」設定もスムーズに完了でもNASを認識しません。

>SMBを確認して設定

管理者で起動させたコマンドプロンプトで
sc qc lanmanworkstation
で確認

上の画面は接続できている側ですがSMB1.0は有効ではありません!

NASを認識していないパソコンに

sc config lanmanworkstation depend=Bowser/MRxSmb10/MRxSmb20/NSI
sc config mrxsmb10 start=auto

としても、再起動でも同じでつながりません!

>レジストリエディターでレジストリを書き換え

レジストリエディターを使って下記階層の値を変更します。
キー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
名前:AllowInsecureGuestAuth
データ:1(有効)
   ※0(無効)

この層にはAllowInsecureGuestAuthが無く、作って見ましたが結果は同じです。

>Windows10Proではローカルグループポリシーエディターの【安全でないゲストログオンを有効にする】の設定値を有効に設定

ファイル名のを指定して実行で「gpedit.msc」と入力

  1. コンピューターの構成をダブルクリック
  2. 管理用テンプレートをダブルクリック
  3. ネットワークをダブルクリック
  4. Lanmanワークステーションをクリック
  5. 安全でないゲストログオンを有効にするを右クリック
  6. 編集をクリック
  1. 有効にチェックを入れる
  2. OKをクリック

残念ながらこれもダメです。

● あきらめました!すくに新しいバージョン20H3もでるので、とりあえず動く方法です。

全てのそのNASのネットワークドライブの割り当てを解除します。
ネットワークドライブの割り当てで「サインイン時に再接続する」が無ければいいようです。

が、接続できてない状態でネットワークドライブを右クリックをするとはまります。固まります!

「コントロールパネル」から、「管理ツール」→「サービス」→「Workstation」を選んで「サービスの再起動」を押します。

NASはつながりました? つながらないならここでおしまいです。他のサイトを探してください。
NASがつながったなら、ネットワークドライブで右クリック、解除します。つながらないNASすべて解除してください。

再起動するとネットワークドライブは無いでしょうが「ネットワーク」から入いれると思います。とりあえずこの方法でいきます。

追伸 2021/4/24 20H2で繋がっいたPCがつながらなくなりました。

同じ現象ですね。とう言うことは、今回は20H2の問題ではなくその後の更新の影響ですね。
SMBの1.0CIFSを3つともONにしても同じでした!
このPCは2020/11/14に20H2に更新され、最近は2021/4/14にKB5001330がインストールされています。この影響?KB5001330はアンインストールには出ないので消せないようです。つながっていたノートパソコンも同じですね。3台中2台は20H2で見れたのですが、3台ともネットワークドライブにはつながりません。

出張中の通信の確保を

Aterm
NECのモバイルルーター

私は現在はDTIのsimを使っています。契約は最初は「無制限」とかでしたが、現在は1.4G

の使い放題です。毎日はウォーキング中の音楽で0.1G程度ですが週に1度の出張では1.4Gでは不足です。出張前後も不足しています。DTIの最初の契約では、電話もデータもいい条件でNTTで10分かけ放題ができました。今は電話の制限があり、通信ソフト「おとくコール」を使う事になりました。しかしこの「おとくコール」でユーザー先の固定電話に電話するとこちらの電話番号が表示されません。他社の似たソフト経由では表示されますので改善のお願いをメールしましたが改善されません。ユーザー先の固定電話には「おとくコール」は使えず非常に不便です。

その後、データ通信も「無制限」ができなくなり1.4Gに変わりました。パソコンは、ここにも書いてますがモバイル通信では更新しないように設定しています。たぶん他のソフトが何か更新しているのでしょうね!1.4Gで全く足らない状態ですね。

「Yahooニュース」でも最近は最初の1ページに動画が入りました。動画で通信量が増えます。それで「Yahooニュース」から「MSNニュース」に変えました。MSNの最初のページに動画は入らないのを祈るばかりです。

通信量は増える傾向です。では1日でどれぐらい必要ですか?私の場合は1日は2G以上、30G/月以上ですね。契約期間からすると2~3年後には40G/月以上ないと仕事はできません。フリーWi-Fiではセキュリティの不安もあり使えません。

楽天(一部無制限)やahamo(NTT)、Povo(AU)、IIj mihoなどの格安プランは20G/月です。
また、楽天では私が使っているIphone8は利用できません。携帯電話のデザリングかモバイルルータか悩むところですがね~

値段的にこれ安いのでは? 3社検討中です。

と思っています。携帯のデータ量を2G程度に下げてモバイルルータを使う方法ですね。

別の話ですが、以前はIphoneのTunelnRadio PROを録音ができるので、Wi-Fiで録音して外では通信せずに聞くと言う方法でしたが、いつの間にかTunelnRadioの録音機能がなくなりました。無料版と有料版の違いが無くなりました。私が使っていたのが有料版だったので詐欺にあったような感じです。多分、勝手に録音してたのがAppleStorの逆鱗に触れたのかと思います。その流れも通信量が増える傾向です。

追記 2021/4/12

楽天モバイルを契約しました。

楽天モバイル

白の在庫は無いようですが、黒です。1回線目なので本体は1円でした。思った以上に楽天回線のエリアが広くなっていました。6月末には私が移動する範囲はおおよそ楽天回線になりそうです。使い放題ですかね~♪ 来たばかりで回線の実力は確認できていませんがまた報告します。

話は外れますが最近、車でテレビを見る事がないですね。HDMIでFire TV Stickを繋げて、通信量が気になる時は音楽を、余裕がある時は家族が映像を見ています。

都市圏から郊外に移動すると、TVの電波がなくなり番組が途中で切れますが、ネットは問題なくつながります。(そもそも田舎では放映している番組も減る)TVの電波が途切れる所でも携帯の電波Iはつながります。車ではTV不要とでモニターがあれば十分だと思います。いよいよテレビ不要の時代ですね。

無低電源装置APC RS-550の分解

定評のあるRS-550を分解してみました。

ブザーが鳴り続けるという現象です。液晶にも何も表示していません。基本的にはバッテリーの寿命ですが、停止スイッチでもブザーが止まず、商用電源は入って、停電もしてないのに出力は停止してつないでいたネットワークサーバーは停止でした。

2014年8月なので6年と半年です。

最初はバッテリーを外します。

後ろのネジ4本

バッテリーの蓋を開けているところですが、右側のネジ1本

前面パネルを下から持ち上げ、上に若干スライドをするとパネルが外れます。
その中の上下2本のネジです。これでネジは全て外れました。バッテリーの接続コードが穴から出てるのを注意してこの写真のように寝かせて、後ろ側を少し右に動かし上にはずします。

昔から気になっていましたが、コンセントがなぜ3つ、3つなのでしょうね?

やはり裏から見ると4つ分です。何かの制限ですか?

ネットワークのサージ防止とは

それなりの部品でちゃんとしてますね。
随分と昔し、近くに落雷があり町内全域でテレビやラジオが壊れました。今は電力会社がサージ防止をして、そこまで広がらないと思いますが 先日 電柱のトランスが不良で停電した時の復旧でサージが発生して複数のパソコンの電源が壊れました。

サージも全く無い事はないようなのでWANケーブルやLANケーブルの大元は通した方がいいのかもしれません。マニュアルには速度100とか1000とかは触れてないようです。

内部は思ったより複雑で、バッテリーを外し、再接続して起動したらブザーは停止して液晶もまともでした。何かが焦げているようにも見えず原因不明です。自動のセルフテストに失敗したのかもしれません。

今回は異常停止なので純正バッテリーも高く、本体毎の交換です。

互換バッテリーなら「秋月電子」に安くあります。PDFのデータシートを見て縦置きは△で使えそうですが自己責任ですね。寿命や性能は不明です。

内部には写真のようなバッテリーの温度センサーもありました。

無低電源が重たい原因はバッテリーとトランスです。トランスの方が安全なのでしょうか?時間があれば互換バッテリーのレポートもします。期待しないでください。

最近はリチウムイオンバッテリーなども多く、発火の恐れから寝ている時は充電をしないようにしています。でもこの装置はそうはいきませんので...

膨れたバッテリー、変形したバッテリーは保管中でも科学反応で発火のおそれありです。

100円ショップのスイッチ型ライトを分解

ダイソウのライトというかランプ

ONを押すと点灯しOFFで消灯、中央に主電源スイッチ

よく見たら、ケースを右と左を間違っているようですね!

中央は単4電池2本の電池フォルダーで左右に3灯、計6灯で明るさは十分

中央の黒いのが傾斜スイッチ、SW-200Dは中身は伝導帯の中を玉が転がる、下記の図からすると右側Cに玉が2つ伝導体を転がり、接触する。

このランプは最初は良かったのだが、最近は傾斜スイッチが接触不良気味で調子が悪い。
定格電流以上の電気が流れているようだ!

HP EliteDesk 600で再起動を繰返す。

最近2台続けて再起動を繰返すと言う症状です。

グラフックボードを外すと安定したように見える、DOSプロンプトを表示していると安定したように見える。タスクマネージャ表示中でも落着いて見えるとかの症状がありました。

WINDOWSのログを調べても、再起動時の異常「予期しないシャットダウンから起動しました~」のような記録しかなく、ウイルスかと疑いましたが!

原因は電源で再起動ではなくシャットダウンを繰返してました。

負荷の関係で動くソフトが増え消費電力が増えると落ちたようです。それでも、直ぐに再起動、PCにとっては最悪の展開です。それを繰返します。
電源装置、5FZAU0BZ610J9のシリアル番号、1週間違いで5FAZU0BZ7610GKも同じ症状で電源部を交換しました。なかり離れた番号は正常に動いてます。部品の品質の問題かも! この付近のPCは同じ爆弾を抱えてい恐れもあります。 注意 注意

追記:電源回りで一番多いのがコンデンサーの劣化による破裂です。今のパソコンでだいたい6年を越える頃からコンデンサーは劣化します。(周辺温度によって異なりますが!)このコンデンサーがある限り、例えば数十年と言う期間は残念ながら動きません。 余計な話ですがこのコンデンサーでは 遠い宇宙への旅行は無理ですね。

この故障はコンデンサーの破裂(劣化)ではありません。他の部品の劣化なので目視で見つけるのは難しいと思います。

HP EliteDesk 800でBIOSも起動しない

中古を購入してディスプレーとキーボード、マウスをつないでスイッチを入れるとHPのロゴも出ず、BIOSも起動しない。

メモリーを外すと警告音は出るし、モニターにも黒い画面の信号は入ってる。

メモリー以外ハードディスクやCDドライブをはすしてBIOSの電池も外しでもダメ!
電源も交換してもダメ! 黒い画面を表示?したまま、警告音もなし!

Googoleで検索してもBIOS起動後の情報はあるが、BISO起動前の情報はない!

翌日、キーボートとディスプレーを外しディスプレーのみで起動!
!!ないんとBISO画面が

色々いじったので番号を入れろと! 純正のキーボードに変えこの番号を入力するとHPのロゴが表示され懐かしいWindowsの起動画面が! USBキーボードとマウスをつないで動作確認!

なにが!原因? USBキーボードとマウスが原因だとは分かったが、USBのキーボードとマウスはUSB切替器からの信号!USB3.0に対応していないの問題? フロント側のUSB2.0につないでも起動しない。

この切替器は古いのですが、ELECOMのKVM-KU4です。とんでもない事態です。原因はこれで、どのポートでもUSB3.0やUSB2.0でも起動しません!しかし、この切替器は壊れていません!起動後に差し込むとWINDOWSでは認識します。

PCが起動チェックでUSBキーボードをUSBドライブかもしれないと返事待ちで停止しているのでないかと思います。HP800のBIOSを最新に変えるとこの現象は治ります。

通常でも起動順序を変えると直ると思いますが、なにせBIOSが出てこないので!

もしPCが起動しないときはキーボードもマウスも外して起動テストをしないといけません!そこまで外すか~と思うでしょうが現実この症状を見ると納得です。

以前HP600が起動せず、マザーボードを交換したものこれかもしれません。悔やまれます! と言うことで警告の意味を含み書きました。

HP Compaq lite8300SFFのRAID1化 SSD

前回の告知どおりSSDに変えました。Samsung 860 EVO 250GB SATA です。

両方とも新品のSSDです。

Samsung 860 EVO

速度は!

間違って違うバージョンでしたが結果は大丈夫です。

前回のHDD500Gから今回はSSD250Gにしたので、新規インストールになりました。交

交換後、最初の起動時にCtrl+Iで「RAID Level」をRaid0からRaid1に変更します。


Create Volume Menu