[PHP-users 34082] Re: toを指定しないimap_mail

harada harada.ml @ gmail.com
2008年 10月 2日 (木) 19:59:46 JST


原田と申します。

下記のソースでわたしの環境ではokが表示されます。

#!/usr/bin/php
<?php
//$to="user1 @ example.com";
$to="";
$subject="test subject";
$message="test body\ntest body\n";
$additional_headers="cc:user2 @ example.com,user3 @ example.com";
$cc="";
if (imap_mail($to, $subject, $message, $additional_headers, $cc) === true) {
  print "ok\n";
 }
 else {
   print "error\n";
 }

また、
$additional_headers="";
$cc="user2 @ example.com,user3 @ example.com";
でも、okが表示されます。
もちろん、実メールアドレスでテストしました。

因みに、php_imap.c(php 5.2.6のソース)を見てみると
> 		addr = NULL;
> 		rfc822_parse_adrlist(&addr, tempMailTo, NULL);
> 		while (addr) {
> 			if (addr->host == NULL || strcmp(addr->host, ERRHOST) == 0) {
> 				PHP_IMAP_BAD_DEST;
> 			} else {
になっていて、PHP_IMAP_BAD_DESTの部分が該当エラーだと思うのですが、この場合エラーになるのは、メールアドレスがrfc822に沿ったパースが出来なかったときだと思います。
メールアドレスに変な文字が混入しているとかってないですか?

逆に私の環境では、どうしてもfalseは返ってきませんでした。
これはこれで問題の様な気がしますが、imap_系は使わないからいいか(笑


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