エントリー

メール投稿でのエラーの対処法

BugFixの落書き


 さくらインターネットのサーバーを使用していますが、どうやらサーバーのバージョンアップに伴って、メール関係の仕様も変更されたようですね。


 同時にWeb Diary Professionalのメール投稿機能も停止してしまいました。
 さて、今回はその対処法です。


様々LOGをあさってみると、ありました。
Pealバージョンで関数pack→sockaddr_inの仕様変更があったんですね。


Web Diary Professional Ver 4.72
lib/webliberty/POP3.pm
40行目付近

改造前

if (!$self->{pop_port}) {
$self->{pop_port} = '110';
}
socket(webliberty_POP3, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
my $server_ip = gethostbyname($self->{pop_server});
my $server_addr = pack('Sna4x8', AF_INET, $self->{pop_port}, $server_ip);
my $socket_mesg;

改造後

if (!$self->{pop_port}) {
$self->{pop_port} = '110';
}
use Socket;
socket(webliberty_POP3, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
my $server_addr = sockaddr_in($self->{pop_port}, inet_aton($self->{pop_server}));
my $socket_mesg;

大変勉強になりました。


Tamboさん、ありがとうございます。

ページ移動

トラックバック

  • トラックバックはまだありません。

トラックバックURL

https://s-fishing.com/resthouse/trackback/23

関連エントリー

  • 関連エントリーはありません。

コメント

  • コメントはまだありません。

コメント登録

  • コメントを入力してください。
登録フォーム
名前
メールアドレス
URL
コメント
閲覧制限

ユーティリティ

サイト内検索

ありがとうございます

新着画像

過去ログ

Feed