[PHP-users 32641] mail関数からのメールの送信ができません

門脇 qqak6ced @ oboe.ocn.ne.jp
2007年 9月 27日 (木) 17:41:22 JST


はじめまして、青木と申します。

数日前からphpからメールを送信できるように設定をしているのですが、全く上手く
いかず暗礁に乗り上げてしまいました。googleを活用し色々試してみましたが解決に
至りませんでした。是非皆様のお力をお貸しください。

OS:Fedora7
Apache:2.2.6
PHP:5.2.4
sendmail8.14.1

以下にphpinfoの内容を記述します。
Directive Local Value Master Value
allow_call_time_pass_reference Off Off
allow_url_fopen On On
allow_url_include Off Off
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_globals_jit On On
auto_prepend_file no value no value
browscap no value no value
default_charset no value no value
default_mimetype text/html text/html
define_syslog_variables Off Off
disable_classes no value no value
disable_functions no value no value
display_errors Off Off
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl On On
error_append_string no value no value
error_log no value no value
error_prepend_string no value no value
error_reporting 6135 6143
expose_php On On
extension_dir /usr/lib/php/modules /usr/lib/php/modules
file_uploads On On
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .:/usr/share/pear:/usr/share/php
.:/usr/share/pear:/usr/share/php
log_errors On On
log_errors_max_len 1024 1024
magic_quotes_gpc Off Off
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
mail.force_extra_parameters no value no value
max_execution_time 60 30
max_input_nesting_level 64 64
max_input_time 60 60
memory_limit 32M 32M
open_basedir no value no value
output_buffering 4096 4096
output_handler no value no value
post_max_size 8M 8M
precision 14 14
realpath_cache_size 16K 16K
realpath_cache_ttl 120 120
register_argc_argv Off Off
register_globals Off Off
register_long_arrays Off Off
report_memleaks On On
report_zend_debug On On
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from no value no value
sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 2M 2M
upload_tmp_dir no value no value
user_dir no value no value
variables_order EGPCS EGPCS
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On
zend.ze1_compatibility_mode Off Off

いかがでしょうか。sendmailはクライアントのメールソフトからも問題なく使用でき
ています。
$ echo "To: example @ ocn.ne.jp" | /usr/sbin/sendmail -t

Sep 16 03:30:03 fedora sendmail[11775]: l8FITr3S011775:
to=example @ ocn.ne.jp, ctladdr=root (0/0), delay=00:00:10, xdelay=00:00:00,
mailer=relay, pri=30028, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent
(l8FIU3HT011779 Message accepted for delivery)
Sep 16 03:30:13 fedora sendmail[11781]: l8FIU3HT011779:
to=<example @ oboe.ocn.ne.jp>, ctladdr=<root @ fedora.example.net> (0/0),
delay=00:00:10, xdelay=00:00:10, mailer=relay, pri=120316,
relay=smtp.ocn.ne.jp. [125.170.92.85], dsn=2.0.0, stat=Sent (Ok: queued as
999E82E90)

sendmailには問題はないと思います。

しかし以下のようなphpを実行してもメールは送信されずログにも何も記載されない
ことからメールサーバーに全くメールが飛んでいないのだと思っていますが、待った
く原因がつかめずにいます。
<?php

print <<< END_DOC
<HTML>
<HEAD>
<title>送信完了!</title>
</HEAD>
<BODY>
END_DOC;

$frname = "test @ mydomain.com";
$fradrs = "test @ mydomain.com";
$toname = "example @ ocn.ne.jp";
$toadrs = "example @ ocn.ne.jp";

$subject = "メール送信のテスト\n";
$comment = "テスト\n";
$comment .= "テスト\n";

mb_language("ja");
mb_internal_encoding("sjis");
$frname0 = mb_encode_mimeheader($frname);
$toname0 = mb_encode_mimeheader($toname);
$sdmail0 = "$toname0 <$toadrs>";
$mlhed = "From:\"$frname0\" <$fradrs>\r\n";
$rslt = mb_send_mail($sdmail0,$subject,$comment,$mlhed);

print "送信完了!<br><br>\n";
print "送信者名:$frname<br>\n";
print "送信者E-mail:$fradrs<br>\n";
print "宛て先:$toname<br>\n";
print "宛て先E-mail:$toadrs<br>\n";
print "タイトル:$subject<br>\n";
print "コメント:$comment<br>\n";

print <<< END_DOC
</BODY>
</HTML>
END_DOC;

?>

これ以外にも現在インストールしてあるzencartからのメール送信もできていませ
ん。最終的にはzencartからのメール送信を実現したいのですがそれ以前の状況に
なってしまっています。皆様のお力をお貸し頂けないでしょうか。宜しくお願い致し
ます。




PHP-users メーリングリストの案内