タグ

2014年1月3日のブックマーク (21件)

  • - よくきたWiki

    † <?php require_once 'Mail.php'; $recipients = 'to@example.com'; $headers = array(); $headers[ "From"] = "from@example.com"; $headers[ "To"] = "to@example.com"; $headers[ "Subject"] = "Test mail"; $body = "Test body"; $params = array(); $params[ "host"] = "localhost"; $params[ "port"] = 25; $params[ "auth"] = "LOGIN"; $params[ "username"] = "username"; $params[ "password"] = "password"; $params[ "

    setamise
    setamise 2014/01/03
    PEAR::Mail
  • Cygwinのターミナルエミュレータminttyの導入 - Qiita

    minttyとは minttyは端末エミュレータです。PuTTYを基に開発されました。名前も似ていますね。ちなみにMinTTYという名前だったこともあります。 minttyとPuTTYを比較しますと、 minttyのほうがPuTTYより更新が頻繁です(latest releaseが、minttyは2013-4-7で、PuTTYは2011-12-10)。 minttyのほうがかっこいい(と私は思います)。 そんなminttyを導入して遊んでみましょう。 Cygwinの導入 minttyの導入じゃないの?と思われるかもしれませんが、2011年の終わりにminttyはCygwinのデフォルトの端末となりました。なのでCygwinを導入すればminttyが使えます。MSYSを使うという方法もありますが、せっかくなのでCygwinにしました。 さっそくhttp://www.cygwin.com/ か

    Cygwinのターミナルエミュレータminttyの導入 - Qiita
    setamise
    setamise 2014/01/03
    Cygwinのターミナルエミュレータminttyの導入
  • 現在のmingw/msysのインストール方法 - ラシウラ

    以前のMSYSのインストールは、コア部分はバンドルインストーラでいれて、足りないものはアーカイブをダウンロードして展開する、という感じで、管理がおそろしくめんどくさかった記憶がありました。 しかし最近更新しようとしてみたら、mingw-getですべて完結するようになっていて、管理がとても簡単になっていた。 古いMinGWの完全削除 新しいmingwを入れる前に、MinGWとMSYS双方をアンインストールし、その後残ったc:\MinGWやc:\msysもディレクトリごと完全に消しておきます。 mingw-get-instでインストール 最新のming-get-inst-YYYYMMDD.exeをダウンロードします(今現在だと20110530)。 http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/

    現在のmingw/msysのインストール方法 - ラシウラ
    setamise
    setamise 2014/01/03
    mingw/msysのインストール
  • [さくら]さくらサーバーのデフォルトシェルをbashに変更する方法 - Webエンジニアの卵の備忘録

    さくらのレンタルサーバーではデフォルトシェルがcshとなっています。 これを普段使い慣れているbashに変更する方法についてメモ。 まず、利用できるシェルの一覧を確認。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 % cat /etc/shells # $FreeBSD: src/etc/shells,v 1.5.32.1 2008/11/25 02:59:29 kensmith Exp $ # # List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/sh /bin/csh /bin/tcsh /usr/local/bin/bash /usr/local/bin

  • エンコードマニアックス

    SHA-256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 SHA-384 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b SHA-512 cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e

  • MIMEの基礎

    今回は MIME の話をしましょう。以下では、言語と文字コードを同一視して説明します。(もちろん両者が違うことは重々承知していますが、今回は同一視した方が分かりやすいと思います。) テキスト・メールの問題点 MIME が登場した 1992 年以前の RFC822 (現 RFC 2822)で定められたメールは、テキスト・メールと呼ばれています。MIME はテキスト・メールの問題を解決するために考え出されました。ここでは、その問題とは何だったのかをおさらいしておきましょう。 テキスト・メールではヘッダが ASCII に限定されていました。そこで、例えば日語のような英語以外の文字列を入れられませんでした。 テキスト・メールでは文も ASCII に限定されていました。非英語圏では、これはあまりにも不便な制約でしたので、その地域内の約束として独自の文字コードを採用しました。例えば日では、文に

    setamise
    setamise 2014/01/03
    MIME基礎
  • SOHOの備忘録 【PHP】mb_decode_mimeheader の代わりになるものを作る(機種依存文字対策)

    とある案件で、POP3でメールを受信する必要があり、そこでメールのデコードも行う事になったのですが。 最初、とある有名なメール受信ライブラリを使っていたのですが、どうにも機種依存文字が化けてしまう。。 そのライブラリを追っかけていったら、mb_decode_mimeheaderを最終的に使ってデコードをしていました。 でもこの関数は使えないことで有名。。 ということで探していたら、 http://d.hatena.ne.jp/hpool/20081108/1226078069 とすばらしい関数を提供してくれる人がおりましたのでそれを使う事に。 ・・でも残念な事に添付ファイル名に機種依存文字が入った場合がうまくいかない。。 理由は、キャラクタセットがiso-2022-jpであるという前提で作られているため。 次の例でNGとなります。 Content-Type: image/jpeg; nam

    setamise
    setamise 2014/01/03
    MIME
  • mb_decode_mimeheaderを正しく使う | 日々是雑記

    マニュアルにも書いてあるのだが、うっかりしていたので備忘録代わりにメモ。 PHPのmb_decode_mimeheader関数でメールのタイトルをデコードする場合、 PHPの内部文字エンコードが使用される。 で。 ここで内部文字エンコードをEUC-JPではなくUTF-8にしている場合、問答無用で文字化けする。 よくわからないが、ISO-2022-JPをちゃんと変換できていないようだ。 対策はmb_decode_mimeheaderをコールする前にmb_internal_encodingで文字コードを変えておく。 EUC-JPが妥当なところだろう。 SJISはダメ。 PHPは内部エンコードでSJISを扱えないから。 使い終わったら文字コードを戻すのを忘れずに。 忘れるとそこからあとの処理が文字化けする。

    setamise
    setamise 2014/01/03
    MIME
  • 機械じかけのスペイン語 - コロンビア

    ●タイトルや宛先が「=?iso-2022-jp?..... 」になっている。 これはMIME非対応のMUAやWebメールページを使用したときに現れます。 =?iso-2022-jp?q?で始まるQ符号化と =?iso-2022-jp?b?で始まるB符号化があります。 解析手順 例1)?ISO-2022-JP?B?GyRCJDMkcyRLJEEkTxsoQg==?= これはISO-2022-JPがBエンコードされたものです。 GyRCJDMkcyRLJEEkTxsoQg==を解析します。 互換表からGは0001100、yは110010になります。これを=を除く最終文字(例の場合はg)までデコードします。 000110 110010 010001 000010 001001 000011 001100 100100 011100 110010 010001 001011 001001 0001

    setamise
    setamise 2014/01/03
    MIME、Q符号化(quoted-printable、7bit)、B符号化(BASE64)
  • ぱんぴーまっしぐら : mb_encode_mimeheader()の使い方

    mb_encode_mimeheader()は、mbstring.internal_encodingから第二引数の文字コード、またはmbstring.languageで指定した言語に合った文字コード(JapaneseならISO-2022-JP)に変換した上でbase64へエンコード、エンコード情報を付加します。 よって、レンタルサーバでphp.iniの設定が不十分な場合、個別に設定したい場合は、関数をコールする前にmb_language()、mb_internal_encoding()で値を設定する必要があります。 (かなり)よく見かけますが、第一引数に渡す文字列をISO-2022-JPへ変換する必要はありません。 正しくは必要がないのではなく、やってはいけません。 ダメ、絶対。 <?php mb_language('ja'); mb_internal_encoding('UTF-8');

    setamise
    setamise 2014/01/03
    MIME
  • PHP:mb_encode_mimeheaderでハマる | 自転車で通勤しましょ♪ブログ

    PEAR::Mailを使ったメールクラスを作っていて、日語対応している途中でハマった。 $subject = mb_encode_mimeheader($subject, "ISO-2022-JP"); // 後に$subjectを件名にセットしたメールを送ると文字化けしてた その後、以下のように修正してみた。 $subject = mb_encode_mimeheader(mb_convert_encoding($subject, "ISO-2022-JP". "auto"), "ISO-2022-JP"); // これでうまくいった!・・・かに見えたがダメだった 上記のように修正したところ、日語は出るようになったが、Thunderbirdでメールを受信すると件名が途中から文字化けしていた。ちなみにGmailでは文字化けしていなかった。mb_encode_mimeheaderが悪いの

    setamise
    setamise 2014/01/03
    MIME
  • 「メールの文字化け」のロジック

    メールを含め,インターネット上のデータの送受信では,つぎのことが起こっている: カラダの分解 (送信側) ネットを流れる カラダの復元 (受信側) 送信側のメールソフトは,「カラダ復元」のための情報をメール文につけ加える。 受信側はこの情報をもとに,「カラダ復元」の処理をする。 カラダの復元は,失敗することがある。 また,カラダの復元には成功しても,それを開いて読む段階で失敗することがある。 「文字化け」は,このようなときの現象である。 メールに「Shift-JIS コードの htmlファイル」を添付した場合を考える。 送信側メールソフトがつくる「カラダ復元」情報は,つぎのようになる。 (メールソフトで, message source を表示させると,これが見られる。) 1. 異なるパート(文と添付ファイル) で成ることを宣言: Content-Type: multipart/mixe

    setamise
    setamise 2014/01/03
    MIME
  • MIME(Multipurpose Internet Mail Extensions)~後編

    MIME(Multipurpose Internet Mail Extensions)~後編:インターネット・プロトコル詳説(4) 複数ファイルを同時送信するマルチパート・メール 前回(第3回「メールにかけられた呪文〜MIME(前編)」)は、主に単一のファイルをインターネットメールに添付する場合について説明した。しかし、実際にメールを送受信する際には、文にテキストを記載し、アプリケーションのデータや画像ファイルを複数添付することが多い。このような場合に利用するのが、マルチパート(multipart)メディアタイプというものである。 マルチパート・メディアタイプとは、“マルチパート”という言葉が示すように、複数の添付ファイルをまとめたメディアタイプのことである。ここで次の例を見てほしい。 Date: Mon, 19 Feb 2001 04:17:19 +0900 From: "Taro Y

    MIME(Multipurpose Internet Mail Extensions)~後編
    setamise
    setamise 2014/01/03
    MIME
  • メールデータの構造 - takami_hiroki’s blog

    メールデータの構造について調べたのでまとめてみます。 メールは全てただのテキストデータ メールデータを理解する上で、最も重要なのは以下の1文です。以下で書かれている「テキスト」とは、ASCIIコード*1のことです。 インターネットメールは、もともとテキストベースのメールシステムであった。つまり、テキストしか送れないシステムである。 MIME(Multipurpose Internet Mail Extensions)〜前編:インターネット・プロトコル詳説(3) - @IT でも写真やExcelファイルも添付できますよね?どういうことでしょうか?それは、以下の通りです。 あらゆるデータをテキスト(正確には、英語圏の人間にとってのテキスト)に変換して送受信しようとするのが、インターネットメールの根的な考え方である。 MIME(Multipurpose Internet Mail Extens

    メールデータの構造 - takami_hiroki’s blog
    setamise
    setamise 2014/01/03
    MIME
  • スタッフブログ - ビットスター株式会社

    2024.01.19 韓国インスタントラーメン紹介 By John 2024.01.17 飛込競技のこと By Ric 2024.01.15 人馬一体? By MoRi 2024.01.12 USJに行ってきました! By akym 2024.01.10 皆様もお気を付けください・・・ By もも 2024.01.05 年末年始は実家で By しゃいんますかっと 2023.12.27 冬のいちご満喫 By ぽぽー 2023.12.25 Netflix個人的おすすめ By KOIKE 2023.12.22 六甲山登山 By fmn 2023.12.20 魚飼育の必需品 By cleyera 2023.12.18 今年買った漫画 By samai 2023.12.15 冬のアイスのすすめ By sea 2023.12.13 イカタコインク塗りゲーム By HI 2023.12.11 2度目のス

    スタッフブログ - ビットスター株式会社
    setamise
    setamise 2014/01/03
    MIME
  • PHPからGmailなどの外部SMTPサーバーを利用してメールの送信 - stayfoolish

    最近ウェブ上のサービスからメールを送信したいけどもSMTPサーバーをわざわざ立てるのもめんどくさいし、SMTP立てるとセキュリティ管理もめんどくさそうだしという機会があって、ならGmailのSMTPサーバーを利用してして送ればいいやという機会がありました。 サーバーはsakuraのVPS, サービスはphpで作っていたものです。 ので備忘録です。 はまりどころとしては3つありました。 mb_encode_mimeheader mb_convert_encoding mb_encode_mimeheader($title) mb_convert_encoding( $body, “ISO-2022-JP”, “auto” ) このあたりを設定しないと日語での送信が文字化け。 ・’username’ => GMAILUSER “hogefuga@gmail.com” みたいなアカウン

    setamise
    setamise 2014/01/03
    SMTP
  • SMTP(Simple Mail Transfer Protocol)~後編

    前回に続き、今回は主にSMTPの拡張版であるESMTPについて説明することにしよう。 ESMTP〜拡張SMTP SMTPが7ビットのASCIIコードしか用いていないのは前回述べたとおりだ。しかし、MIMEの回で述べたように、それでは都合の悪い場合も多々ある。そこで、これを8ビットでも利用できるようにしようとの動きが出てきた。これがESMTP(Extended SMTP)だ。ESMTPは、SMTPの機能をそのまま包含しつつ、8ビット対応だけでなく、幾つかの拡張を同時に行っている。仕様はRFC1869およびRFC1652などで定義されている。主なものを紹介しよう。 グリーティング 通常のSMTPではHELOコマンドでグリーティングを行うが、ESMTPではEHLOコマンドを用いる。これは接続先MTAへ自分がESMTPに対応していることを知らせるためだ。 接続先MTAもESMTPに対応している場合

    SMTP(Simple Mail Transfer Protocol)~後編
    setamise
    setamise 2014/01/03
    SMTP、ESMTP通信の具体的な解説
  • SMTP command reference

    SMTP拡張サービス SMTPサービスは、以下の2種類に分類される。 最小限必要なサービス(RFC 821 Section 4.5.1 にある最小実装+EHLO) ( HELO, EHLO, MAIL, RCPT, DATA, RSET, NOOP, QUIT) それ以外のコマンド=SMTP拡張サービス あるサーバで、どのSMTP拡張サービスが利用できるかどうかは、 EHLOコマンドで知ることができる。 ここに、一般的に知られている拡張サービスを挙げる。 注意:標準でない、自分の環境だけで使われるような拡張サービスには、Xで 始まる名前をつける。逆に、標準にはXで始まる名前の拡張サービス名がつけ られることはない。 もくじ 8bit-MIMEtransport - 8bitのMIMEメッセージを転送する Authentication - SMTP接続の認証を行う BINARYMIME -

    setamise
    setamise 2014/01/03
    SMTP通信のCRAM-MD5他の認証方式
  • http://hp.vector.co.jp/authors/VA032790/program/mail/programh0.html

    setamise
    setamise 2014/01/03
    SMTP通信のCRAM-MD5他の認証方式
  • PEAR の Mail パッケージによるメール送信

    <?php set_include_path( "C:\php\PEAR" ); include('Mail.php'); include('Mail/mime.php'); # 内部コード指定 mb_language( "ja" ); mb_internal_encoding("UTF-8"); # メール送信環境 $mailServer = "localhost"; $mailPort = 25; $mailFrom = "lightbox@localhost"; $mailTo = "lightbox@localhost"; $mailUser = "lightbox"; $mailAuth = true; // true 認証有り、false 認証無し $mailPass = "password"; print "<PRE>"; # ************************

    setamise
    setamise 2014/01/03
    PEAR の Mail パッケージによるメール送信
  • PHPの文字化けを本気で解決する - ぎじゅっやさん

    setamise
    setamise 2014/01/03
    PHP マルチバイトの扱い