CGI(というか実体はシェルスクリプト)から日々携帯にメールするようcronに仕込んだところ、迷惑メールフィルタが発動するのか、ほとんど届きませんでした。
sendmail → Gmail … OK
sendmail → OCN … NG
sendmail → au … NG
Gmail → au … OK
Gmailから携帯に送るメールは即受信するので、インターネット→携帯が一律に遅延するわけでもなさそう。
#sendmailからだから、送信元偽装と見なされているのかも?
仕方がないのでGmailに送信→Gmailのフィルタで拾って携帯に転送することにしました。
自宅のグローバルIPアドレスを確認するだけです。
#!/usr/bin/perl
$mailto = hoge@hoge';
$subject = 'IP';
$mailcmd = '/usr/sbin/sendmail';
$mailfrom = 'fuga@fuga';
require "mimew.pl";
#
# create mail header
#
$mailhead = "";
$mailhead .= "Content-Type: text/plain; charset=\"iso-2022-jp\"\n";
$mailhead .= "Content-Transfer-Encoding: 7bit\n";
$mailhead .= "MIME-Version: 1.0\n";
$mailhead .= "To: $mailto\n";
$mailhead .= "From: $mailto\n";
$mailhead .= "Subject: $subject\n";
$mailhead .= "\n";
#
# create mail body
#
$mailbody =`wget -q -O - --http-user=USER --http-password=PASSWD "http://192.168.0.1/cgi-bin/main.cgi?mbg_webname=status&config_no=1"|egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head –1 `;
chomp $mailbody;
#
# send mail
#
$cmd = "$mailcmd -t";
unless (open(OUT, "| $cmd")) {
&errexit("error(1)");
}
unless (print OUT &mimeencode($mailhead)) {
&errexit("error(2)");
}
unless (print OUT $mailbody) {
&errexit("error(3)");
}
close(OUT);

