OpenPNE 2.14 で招待メールが送信できない場合

招待メールが送信できたのでメモ。

OpenPNE 2.14 では、メールの送信は、/OpenPNE-2.14.5/webapp/lib/util/mail_send.php の 62行目あたりで mail 関数を使って送っています。

PHPでは、メールの送信がいくつかあります。

http://www.komonet.ne.jp/~php/chap15.htm

で、招待メールが送れないパターンとして、

  1. 相手が拒否している。
  2. sendmail(かな?)、が from のドメインをチェックして送れない。
  3. 今回のように、mail関数のほうの設定がうまくいっていない。

場合があります。

1の相手が拒否している(と思われる場合は)、拒否解除をすると同時に、

config.php にある、

  • MAIL_ENVFROM で相手の受け取れるドメインにする。

します。

2のsendmail,qmailが、ドメインのチェックをしている場合は、

  • MAIL_SET_ENVFROM を false にして、-f スイッチで設定しない。
  • あるいは、MAIL_ENVFROM のドメインを合わせる。

形になり、

3のように、そもそもmail関数だと駄目な場合は、

  • MAIL_SET_ENVFROM を false にした上で、
  • mb_send_mail関数に切り替える

ようにします。

# MAIL_ENVFROM、ADMIN_EMAIL の設定を使いたい場合は、両方の mail 関数を切り替えればいいんだけど、mb_send_mail関数の追加パラメータが mail関数互換のなのか不明なので。

修正箇所はは↓です

mb_send_mail 関数を使う場合は、Subject が自動でエンコードされるので、

    // subject (改行コードを含んではならない)
    $subject = mb_convert_encoding($subject, "JIS");
    $subject = str_replace(array($cr, $lf), "", $subject);
//  $subject = '=?ISO-2022-JP?B?'.base64_encode($subject).'?='; // ★コメントアウト
mail関数から mb_send_mail関数へ切り替え
    if (MAIL_SET_ENVFROM) {
        if (MAIL_ENVFROM) {
            $f = MAIL_ENVFROM;
        } else {
            $f = ADMIN_EMAIL;
        }
        $params = '-f' . escapeshellcmd($f);
        return mail($address, $subject, $body, $headers, $params);
    } else {
//      return mail($address, $subject, $body, $headers);
        return mb_send_mail($address,$subject,$body,$headers); // ★切り替え
    }

ひとまず、bluehost 上に OpenPNE 2 を導入して、招待メールが送れるところまでOK。

カテゴリー: 開発 | OpenPNE 2.14 で招待メールが送信できない場合 はコメントを受け付けていません

OpenPNE 2.14 のインストールはok

ってな訳で、OpenPNE 2 にしてインストールはok。ログインまでできた。

んがしかし、招待メールが送れない…何故?

解決法としては、config.php の

// Envelope-From ヘッダを設定するかどうか(safe_mode の場合は false に設定してください)
define(‘MAIL_SET_ENVFROM’, false); ★

にするらしいんだが、bluehost.com ではうまくいかない。

試しに、自前のお見積りフォーム(ってのを作成中)では送信ができた。

mb_send_mail 関数を使っているので、ここが違うと思われる。まあ、このあたりは後日調査する。

 

ユーザを追加するのは、管理画面でCSV形式でインポートができるので、当面はそれを利用すればOK(実験だし)。

カテゴリー: 開発 | OpenPNE 2.14 のインストールはok はコメントを受け付けていません

OpenPNE 3 インストールできず

で、Bluehost の設定もできたので、http://www.openpne.jp/pne-downloads/openpne3/ にあるセットアップ手順通り

./symfony install:openpne

を入力して、動かしたものの…

Fatal error: Class ‘PDO’ not found in /home/hostname/public_html/pne3/lib/plugin/opPluginManager.class.php on line 164

なるところで頓挫。PDO がない現象にぶちあたると、phpの構築に走ることになるので、Bluehost の権限ではできず。

bluehost の PHP は、

PHP 5.2.11 (cgi-fcgi) (built: Dec 14 2009 22:49:29)

らしいのだが、何故駄目なのかは分からず。

ネットで調べてみたが、同じところで困っている人もいて、解決は yum ぐらいしかないみたい。

 

なわけで、OpenPNE 2 で試しますか。

カテゴリー: 開発 | OpenPNE 3 インストールできず はコメントを受け付けていません

bluehost で ssh を使う方法

ちょっと、公開サーバにOpenPNEを入れる必要があったので、お手軽にBluehostに入れようと思ったのだが、OpenPNE 3 からは、shell でインストールしないと駄目だった。

# OpenPNE 2 のときは、あらかじめ設定ファイルを作成しておく形式だった。

なので、shell を使う必要があるのだが、う~む。

Bluehost では、デフォルトでは ssh が使えない、が、結構簡単に開設できる。

  1. 運転免許書かパスポートをスキャナで取っておく。
  2. cPanel の「SSH/Shellアクセス」をクリック。
  3. なにやら、開設するには免許書送れなぞと英語で書いているので、サポートにアクセスするボタンをクリック。
  4. ドメイン名などを入れて、メッセージを入力

    Hi bluehost:
    Would you please be kind enough to give me the shell access right?
    My ID is “……”. I have attached my id card. thanks.

    な感じでokだそうだ。

  5. さっきスキャナした画像を添付して、送信。
  6. 暫く待つと(私の場合は10分弱だった)、SSHが開設したよ、っていうメールが来る。

SSHのログイン名は、cPanelの管理者のログイン名/パスワードなので、shell を使いまわすのは危険かなと。

ひとまず、TeraTerm を使って接続はok。

カテゴリー: 開発 | bluehost で ssh を使う方法 はコメントを受け付けていません

smallbasic で学ぶ twitter

先日の .NET ラボ勉強会で、木沢さんが、smallbasic を紹介していました。

smallbasic

http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx

公式サイト(ver.0.8)からダウンロードすることができます。かつ、このバージョンからメニューなどが日本語で表示されます。

20100426_01

見てわかる通り、非常にきれいな画面です。.NET Framework 3.5を要求しますが、smallbasicの言語のためというより、WPFのために必要なのです。

中身は、変則basicです。ifに対応するのがendifだったり、forに対応するのがendforだったりしますが、まあ、basic です。

クラスや関数などややこしいものはありません。関数はなくてサブルーチンです。サブルーチンなので、引数が扱えません、という感じですが、まぁ、昔のN88Basicを使っていた人は、その頃に気分を戻すということで。

面白いのは、smallbasic で即実行ができるところです。HSPみたいに、さくっと作って動かすってのが可能です。

一応、Kids向けなのですが、squeakのような子供向けという訳ではないようです。インテリセンスが親切なのと、オブジェクトのメソッドが制限されているので、プログラミング初心者にはやりやすそうです。

なつかしいタートルグラフィックスもできます。

というわけで、

Twitter のログを smallbasic で読み込んでみました。

name = "moonmile"
url = "http://twitter.com/" + name
f = Network.DownloadFile( url )
'ファイル読み込み
For i = 1 To 1000
line[i] = File.ReadLine(f,i)
If line[i] = &quot;</html>&quot; Then
max = i
i = 1000
EndIf
EndFor
'ファイルを消す
File.DeleteFile( f )

GraphicsWindow.Width = 300
GraphicsWindow.Height = 400
GraphicsWindow.Title = name
GraphicsWindow.BackgroundColor = &quot;darkgray&quot;
GraphicsWindow.FontSize = 12
GraphicsWindow.Show()

y = 0
For i = 1 To max
l = line[i]
n = Text.GetIndexOf(l,&quot;entry-content&quot;)
if n > 0 then
l = Text.GetSubTextToEnd( l, n + 15 )
l = Text.GetSubText( l, 1 , Text.GetLength(l)-7 )

'TextWindow.WriteLine( &quot;- &quot; + l )
txt = l
CutTag()
'GraphicsWindow.DrawText(1,y*20,txt)
GraphicsWindow.BrushColor = &quot;darkslategray&quot;
GraphicsWindow.FillRectangle(5,y*16*6,GraphicsWindow.Width,16*6-5)
GraphicsWindow.BrushColor = &quot;white&quot;
GraphicsWindow.DrawBoundText(5,y*16*6, GraphicsWindow.Width-10,txt )
y = y + 1
EndIf
EndFor

Sub CutTag

nn = 1
While nn > 0
s1 = Text.GetIndexOf(txt,&quot;<&quot;)
If s1 > 0 then
s2 = Text.GetIndexOf(txt,&quot;>&quot;)
If s2 > 0 Then
txt = Text.GetSubText(txt,1,s1-1) + Text.GetSubTextToEnd(txt,s2+1)
EndIf
EndIf
If s1 = 0 or s2 = 0 Then
nn = 0
endif
EndWhile
EndSub

Twitter APIではなくて、httpの直読みw

20100426_02

ああ、そうそう、これってWEBで共有できて、Silverlightで確認できるんですが、このプログラムはローカルファイルを読み込んでいるので動きません。。。う~ん、サンプルとしてはいまいちか。

マウスイベントも取れるので、オセロとか作ると面白そうです。

カテゴリー: 開発 | smallbasic で学ぶ twitter はコメントを受け付けていません

Twitter API

http://usy.jp/twitter/index.php?Twitter%20API

Twitterを使う場合、ブラウザを開いてちまちま書いているんだけど、やっぱりアプリがいいか?

てな感じで、APIを一読(って、一応前にも読んだことがある)。

APIは比較的簡単で、HTTPプロトコルのPOSTが理解できればok。

Twitterクライアント サンプル

基本はPULL型のシステムなので、多くユーザがあるとシステムがパンクする。

PUSH型だと、ルータ超えの問題があるのだが、P2Pの方法もあるし、IMAP4っぽい実装もありかと思う。他のTwitterクローンはどうなのでしょう?

いわゆる、BOTと呼ばれる自動化された送信の場合は、特定アカウントにPOSTさせればOK。APIに則って、サーバーを立てれば、Twitterのサーバークローンもできるので、小規模で行うクローズドの実験も可能そうですね(API自体のライセンスはどうなっているんだろう?)

# 最近、思うようになったのですが、真似るならば徹底的に真似るほうが良い。
# 中途半端に独自性を出そうと思うと、インターネットの世界では例だけはいっぱいあるので、
# 「独自性」を打ち立てにくい。ならば、かつて、戦後の日本人がやったように、徹底的に真似、
# その先に民族性が内包されるのが良いのではないでしょうか?
# ……なぞと、イデオロギーっぽく語るテスト

クライアントを作るとすると、

  • .NETベースで、Twitterライブラリの構築(あるいは流用)
  • Silverlight上でWEBアプリ
  • WPFでデスクトップアプリ

な感じですね。
そう、広告配信アプリの前哨戦(いっぴんとかね)になればよいかなぁと、思ったり。

~~

そうそう、先に書いておきますが(最後に書いてるけど)、

  • Twitterで、BOTを受けたり、広告配信を受けたりするのは、詰らないのです。

面白いのは、

  • Twitterで、知らなかった人(人間)と交流する。
  • Twitterで、BOTや広告配信システムを創る。

な、ところでここを履き違えると、面倒なことになります。だって、ブログの当初は、自分で発信して、コメントをやり取りするのが面白かったわけで、アフリエイトなんかは後から付いてきた話ですよね?

ま、そんなことを言うとビジネスにならん、のかもしれませんが、決して

  • Twitterで、BOTと話をしたい。
  • Twitterで、広告配信を受けて、にやにやしたい。

訳ではないのです。まあ、漫画の新刊本なんかはAmazonレベルで広告を受けたいとは思いますが、リアルタイムにはちょっと、って感じかな、と。

~~~

Twitterクライアントとしては、WPFを使ってXAMLで、ストリーボードでぐりぐりと動くのがいいかなぁ。ムダにデスクトップを飛び回る、邪魔ものでもいいかも。BOTからの通信は、画面の上をすーっと流れるように(電光掲示板らしく)、友達からの通信は、左からキャラクタが覗いて語りかけるように、あと、気になるフォローは右の下にちろちろと燃える焚火のように。誰か作らない?

お仕事中のデスクトップアプリに紛れ込ませるのが、コツですね。そう、NTT DoCoMoのオペレータさんが、マウスアイコンをキティにしたり、チャットツールを常備したり(禁止だったんだけど)、するような感覚です。

こんな感じにすると、本来のTwitterプラス、広告配信も受けてもいいかな?と思うじゃないですか。違うかなぁ。

カテゴリー: 雑談 | 4件のコメント

Twitter始めました

夏になれば、冷やし中華が始まりますが(もう始まっているところも多いけど)、

Twitter を始めました。

http://twitter.com/moonmile

おまけに、いたばし起業塾の非公式 Twitter も。

http://twitter.com/teamitabashi

昔から、「日記」を書いているものとしては(別のサイトにあります)、自己表現としての発信は、こんな経緯です。

1. WEBサイトに、HTMLで日記を書いて、FTP でアップ。

→ 自分は perl スクリプトを書いて整形して、自動アップ

2. 無料ブログが流行り始めて、ブラウザでアップ。

→ 自分は、あらかじめエディタで書いて、ブラウザにぺたり(消えると悲しいし)

3.1 アメブロで、テーマを決めてブログを書く(営業的に)。

→ 人格を装うというのもあるけど、装飾された人がら≒想像しやすい像、を決める、と。

3. Twitter で、思考の垂れ流し?

→ いま、ここに来たところ。

 

交流としての手段は、こんな流れで。

1.パソコン通信

→ パソコン通信やってました。お金がなくてニフティとかじゃなくて、地元の小さなサイトとかで。

2.直接メールでのやり取り

→ 電子メール以前は、大学のサークルか家族の対面/電話ですよね。

2.fjなどのニュースサイトの利用

→ 少し緩い繋がり、プログラマ系の連帯感ってやつです。

3.メーリングリストに加入

→ VBのメーリングリストに入って、日に100通とか。プログラム系は応答が盛んだったころ。

4.WEBサイトに設置できる掲示板(CGIベース)

→ 個人ベースになるので、こじんまりとしてるけど、プログラム系だけじゃない集まりができましたね。

5.再び、メールベースを利用

→ スカイプには慣れなくて(あのIP電話特有の応答の遅延が…)、メールのやりとり。

→ チャットはあまりしないほう。

6.そして、Twitter?

→ 交流としては「緩い」ほうなのか、思考的には「選択」して、かえって結びつきが強くなるのかは不明です。

 

ただ、Twitterにはまると、Twitterが廃れたときに悲しいかな~、と思っているので、あまりハマらないように、と。それに、ブログや掲示板と違って情報が残らない(イギリスだったか、Twiterの記録をアーカイブし始めましたが)ので、そこは注意が必要ですよね。

最近思うのは、

1.ブログやメールベースで知り合う(あるいは、一方的に見る)。

2.一回、何かで会ってみる。

3.その後、メールやTwitterで繋がりを保つ。

のが、よさげです。

 

いたばし起業塾の重鎮の方と話していると、自分が若い or 幼いことを実感できるので、さらによしw

いえ、決して若作りという訳ではありませんがw

カテゴリー: 雑談 | 2件のコメント

Visual Studio 2010 インストール完了

そんな訳で、MSDNのVisual Studio 2010 Professional版のインストールが完了しました。

英語のほうは、ベータ版、RC版、と続いたので、外見が分かっているのですが、まぁ、速報ということで。

DVDを作成して(私は、VMWare上で)、インストール開始。おなじみの画面が出ます。青が基調になりましたね。

001

 

インストールコンポーネントを読み込んで、

002

 

同意をして、

004

 

中身をみるために「カスタム」を選んで、

005

 

Visual F# と、SharePoint が増えていますね。

すべてインストールすると、7.1GB必要になります(他にヘルプも入るので+1GBぐらい)

006

 

たくさんのコンポーネントがインストールされます。

007

 

.NET Frameowork 4をインストールした後で、再起動します。

009

 

すべてが成功したら、ヘルプ(ドキュメント)をインストールします。

010

 

通常は、オンラインコンテンツです。

オフラインコンテンツの場所が変わっています。

011

 

必要なものを「追加」でインストールしておきます。

012

 

ローカルライブラリの完了

014

 

さて、これでインストール完了です。

次は、Visual Studio 2010 を起動すると、最初だけ環境設定をします。

016

 

しばらく経って、

018

 

Visual Studio 2010 が起動できました。

019

スタートページが変わっていますが、2008と似たような感じです。RC版にあった、WPF風の画面はやめちゃったようです。

 

さて、プロジェクトを新規に作成するところを見ていくと、

■C#でWindows フォーム

020

■C#でASP.NET MVC 2

021

■Visual C++ で CLR

022

■F#アプリケーション

023

ああ、そう、F#もあるんです。

 

C#でWindowsフォームのプロジェクトを作成すると、

024

な感じです。2008とほとんど変わりません。

ツールボックスのコンポーネントは少し増えていますね。チャートとか。

 

変わっているのは、オンラインヘルプで、「ヘルプ」を選ぶと、IEが開きます。

025

Formの上でF1キーを押すと、フォームのヘルプにジャンプします。

026

2008の時のオンラインドキュメントは結構重かったので、これは良くなりました。

 

さて、本当に .NET Framework 4 になるのかな?と見ると、

027

ほら、「v4.0.30319」となっていますね。

2008の時は、v3 や v3.5 が混在し、ASP.NET は v2 を参照していましたが、.NET Framework 4 は全て、v4 の配下を参照することになります。

と言う訳で、ひとまず、環境はOKってことで。

カテゴリー: 雑談 | Visual Studio 2010 インストール完了 はコメントを受け付けていません

Visual Studio 2010 ダウンロード中

http://msdn.microsoft.com/ja-jp/subscriptions/default.aspx

20100421_03

お昼現在、ダウンロード中です。

2.5GBなので、うちの場合は500KB/sec弱なので、2時間ぐらいですかねぇ。

意外とスムースに接続できて、順調にダウンロードできています。前の時は結構ぷちぷち切れていた覚えが。

カテゴリー: 雑談 | Visual Studio 2010 ダウンロード中 はコメントを受け付けていません

Visual Studio 2010 まだ~

 

MSDNでは、昨日(4/20)リリースの予定ですが、現時点(4/21 0:31)で、やっとリリースのようです?

20100421_01

http://msdn.microsoft.com/ja-jp/subscriptions/default.aspx

って、タイトルは出ているんですが、ログインすると見当たりません。

ん~、英語版は4/12にリリース済みなんだけど、日本語版はまだベータ版しかありません。

フライング?

カテゴリー: 雑談 | Visual Studio 2010 まだ~ はコメントを受け付けていません