タグ ‘ mail

qmail-toaster vmoddomlimitsコマンド

Vmoddomlimits – QMail-Toaster

vmoddomlimits: usage: [options] domain options: -v ( display the vpopmail version number )

-d ( use the vlimits.default file, instead of domain )
-S ( show current settings )
-D ( delete limits for this domain, i.e. switch to default limits)
-Q quota-in-megabytes ( set domain disk quota, ‘100’ = 100 MB )
-q quota-in-bytes ( set default user quota, ’10M’ = 10 MB )
-M count ( set domain max msg count )
-m count ( set default user max msg count )
-P count ( set max amount of pop accounts )
-A count ( set max amount of aliases )
-F count ( set max amount of forwards )
-R count ( set max amount of autoresponders )
-L count ( set max amount of mailing lists )

the following options are bit flags in the gid int field

-g “flags” (set flags, see below)
gid flags:
u ( set no dialup flag )
d ( set no password changing flag )
p ( set no pop access flag )
s ( set no smtp access flag )
w ( set no web mail access flag )
i ( set no imap access flag )
r ( set no external relay flag )

the following options are bit flags for non postmaster admins

-p “flags” (set pop account flags)
-a “flags” (set alias flags)
-f “flags” (set forward flags)
-r “flags” (set autoresponder flags)
-l “flags” (set mailinglist flags)
-u “flags” (set mailinglist users flags)
-o “flags” (set mailinglist moderators flags)
-x “flags” (set quota flags)
-z “flags” (set default quota flags)
perm flags:
a ( set deny all flag )
c ( set deny create flag )
m ( set deny modify flag )
d ( set deny delete flag )


いつも忘れてしまうのでメモ。
> vmoddomlimits -g dpswir ドメイン名
で、メール送受信、パスワード変更とか停止。

> vmoddomlimits -D ドメイン名
で解除

  • qmail-toaster vmoddomlimitsコマンド はコメントを受け付けていません。

vdominfoコマンド2

前回のエントリーで書いた、vdominfoコマンド。

dirを取得したいので調べてたんですが、詳しい方から新情報。
%> /home/vpopmail/bin/vdominfo -d test.com
/home/vpopmail/domains/test.com

と、-d をつけることで、ディレクトリ情報だけを取得することができました。

  • vdominfoコマンド2 はコメントを受け付けていません。

vdominfoコマンド

忘れないうちにメモ。

vpopmailのコマンド、vdominfo。
登録したドメインの情報を表示してくれる。

%>/home/vpopmail/bin/vdominfo test.com
domain: test.com
uid: 89
gid: 89
dir: /home/vpopmail/domains/test.com

これ便利。DBで管理しているvpopmailだと、メールサーバのDBに接続するしかないと思ってたけど、これなら接続情報もたなくていいし。

  • vdominfoコマンド はコメントを受け付けていません。

ZendFramework 1.7.5でもメールの件名は文字化け

短い件名だと問題なかったんですが、長くなると後半が化けてしまいました。
ので、今まで通り、Zend/Mail.phpのsetFromとsetSubjectを修正。
setSubjectは以下のように修正しました。

1
2
3
4
5
6
//$this->_subject = $this->_encodeHeader($subject);
mb_language('ja');
$lang = mb_internal_encoding();
mb_internal_encoding('ISO-2022-JP');
$this->_subject = mb_encode_mimeheader($subject, 'ISO-2022-JP');
mb_internal_encoding($lang);



setFromも同じ要領で。

  • ZendFramework 1.7.5でもメールの件名は文字化け はコメントを受け付けていません。

ZendFramework 1.7.5へ

ZendFramework1.5.2から現状不足している機能がなかったので、

そのままバージョンアップしてなかったんですが、今回Zend_Dateの日付計算で

不具合が出たので、最新の1.7.5にバージョンアップしました。


嬉しかった点は、Zend/Mail.phpの中身を編集しなくても

文字化けをしないように設定できるようになった部分。

これをやるのがおっくうでバージョンアップしてなかったのもあったので。

こんなふうにsetEncodingOfHeadersでbase64を指定できるようになってました。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static function sendInfo($params)
{
  $mail = new Zend_Mail('ISO-2022-JP');
  $mail->setEncodingOfHeaders(Zend_Mime::ENCODING_BASE64);
  $mail->setBodyText(self::_encode(trim($params['body'])), 
            null, 
            Zend_Mime::ENCODING_7BIT)
     ->setSubject(self::_encode($params['subject']))
     ->setFrom('yyyy@yyyy', 'zzzz');
     ->addTo('xxxx@xxxxxx');
     ->send();
}
 
private static function _encode($str)
{
  return mb_convert_encoding($str, 'ISO-2022-JP', 'UTF-8');
}




少しはまったのが、Zend_Date。new Zend_Date(‘xxxx-xx-xx’)とやると

クラスを生成できてたのですが、Localeがうまく取得できなくなっているようでした。

以前、ソースをおったときは、ブラウザから情報を取得していたし、

今回ざっと見た時もそれっぽい部分があったのですが、なぜかLocaleでエラーになります。


Zend_Registryを使って、’Zend_Locale’に’ja_JP’を設定しておけば、

設定したLocaleを利用してくれるので、index.phpで設定して問題を回避しました。

ソースをちゃんと見たいところですが、今は問題解決が先です。



  • ZendFramework 1.7.5へ はコメントを受け付けていません。

メールが送れない

ローカル環境(Mac OS 10.5)で開発をしているんですが、

プログラムからのメール送信ができない。。。


% sudo /usr/sbin/sendmail -bd -q1h


で、sendmailを起動したら、sendmailでエラーはでなくなったけど、

送信先にメールが届いていない。

gmailに送ってみた結果、以下のログが。


postfix/smtp[967]: connect to alt2.gmail-smtp-in.l.google.com[209.85.217.183]: Connection refused (port 25)

postfix/smtp[967]: connect to alt1.gmail-smtp-in.l.google.com[72.14.205.27]: Connection refused (port 25)

postfix/smtp[967]: connect to alt2.gmail-smtp-in.l.google.com[209.85.217.182]: Connection refused (port 25)

postfix/smtp[967]: connect to alt2.gmail-smtp-in.l.google.com[209.85.217.177]: Connection refused (port 25)


25番ポートで接続できないってことなのかと思い、

http://blog.dc-d.jp/archives/1002.html

を参考に、master.cfを編集し、再起動しても結果は変わらず。


一時間ほど検索しても、これだ!!って内容は見つからず。

/etc/mail/配下のファイルを変更する手法も見つかったが、これは自分で

sendmailをインストールした場合に有効そうだった。


また、時間見つけてやろうと思います。

これやったか?ってのを教えていただけると、大変助かります。

  • メールが送れない はコメントを受け付けていません。

続2Zend_Mailで日本語本文が文字化け

昨日書いた対処により、Mac OS9 Outlook Expressでは化けなくなったが、

他のメーラーではまだ化けることがあるようでした。


そんなときに、会社のメールサーバ等に詳しい方から情報をもらいました。

日本語メールの本文のエンコーディングは、7bitでないといけないということを。

メールヘッダのContent-Transfer-Encodingの部分です。


というわけで早速変更してみました。

以前、Zend_Mime::ENCODING_BASE64としていた部分を、

Zend_Mime::ENCODING_7BITに変更です。



$mail = new Zend_Mail(‘ISO-2022-JP’);


$mail->setBodyText($text, null, Zend_Mime::ENCODING_7BIT);


これで、文字化け問題から解放されることを望みます。

また新たなメーラーで問題がおこりませんよーにー。

  • 続2Zend_Mailで日本語本文が文字化け はコメントを受け付けていません。

続Zend_Mailで日本語本文が文字化け

以前http://life.co-hey.com/2008/09/zend-mail-6.htmlという記事を書きましたが、的外れだった可能性がでてきました。


メールヘッダーがbase64になっていたのに、printableで送信していたため、

この対処を入れて様子を見ていたのですが、まだ文字化けする場合がありました。


Mac OS9で、Outlook Expressをの場合に文字化けする現象がでました。

いろいろ試したところ、以下の対処で文字化けしなくなりました。



$mail = new Zend_Mail(‘ISO-2022-JP’);

$mail->setBodyText($text):


上記のように、base64の指定をしない形に戻す。


次に、メール本文の最後に改行を入れる。


これでMac OS9 Outlook Expressでも文字化けしなくなりました。

誤った情報を書いてしまったことをお詫び致します。

  • 続Zend_Mailで日本語本文が文字化け はコメントを受け付けていません。

Zend_Mailで日本語本文が文字化け

今回、メーラーによっては、日本語の本文が文字化けするという現象を確認。


調査したところ、通常、本文はPrintableでエンコードされて送信されていました。

なので、ここをbase64にてエンコードするように修正して解決。


$mail = new Zend_Mail(‘ISO-2022-JP’);

$mail->setBodyText($text):


と書いていた部分を以下のようにエンコード形式を指定して設定します。


$mail = new Zend_Mail(‘ISO-2022-JP’);

$mail->setBodyText($text, null, Zend_Mime::ENCODING_BASE64);


文字化けってほんとやっかいです。

  • Zend_Mailで日本語本文が文字化け はコメントを受け付けていません。

Zend_Mailで日本語メールヘッダを扱う

以前、http://life.co-hey.com/2008/03/zend-mailfrom.htmlという記事を書きました。


ヘッダーをエンコーディングする際の処理を変更しようという内容でしたが、

今回追記しておいた方がいいなということあったので追記です。


mb_encode_mimeheaderでは、mb_internal_encodingの文字コードと、

mb_encode_mimeheaderの第2パラメタで指定した文字コードが一致しないと

正常に変換されない場合があるようです。


なので、以下ように書いておいた方が無難ですね


1
2
3
4
5
6
7
8
mb_encode_mimeheader('"'.$name.'"', 'ISO-2022-JP')
 
  ↓
 
$encode = mb_internal_encoding();
mb_internal_encoding('ISO-2022-JP');
mb_encode_mimeheader('"'.$name.'"', 'ISO-2022-JP');
mb_internal_encoding($encode);

  • Zend_Mailで日本語メールヘッダを扱う はコメントを受け付けていません。

return top