私はこれを理解しようとしてかなり燃えています。主な問題は、phpメーラーでループを使用してユーザーに電子メールを送信すると、一部の人にしか届かないことです。これはDNSの問題であると考えています.
メールコードはこちら
function massEmail($from,$subject,$to,$body) {
require_once('packages/class.phpmailer.php');
$success = 0;
foreach($to as $person) {
usleep(2000);
$mail = new PHPMailer();
$mail->From = $from;
$mail->IsHTML(true);
$mail->FromName = "cmiVFX";
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AddAddress($person);
$ret = $mail->Send();
if($ret) {
$success++;
}
}
var_dump($success);
}
ホスト名を実行すると、これが表示されます
server.cmivfx.com
hostname -f または --fqdn を実行すると、
hostname: Name or service not known
sendmail を再起動すると、
hostname: Name or service not known
ここに私のホストファイルがあります
127.0.0.1 localhost.localdomain localhost
127.0.1.1 server.cmivfx.com cmivfx.com
69.162.76.226 server.cmivfx.com cmivfx.com
私のホスト名ファイルは
server.cmivfx.com
私のメールサーバーはGoogleアプリを指しているので、cmivfx.comを掘り下げてください
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11895
;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;cmivfx.com. IN ANY
;; ANSWER SECTION:
cmivfx.com. 1553 IN SOA ns1.limestonenetworks.com. noc.limestonenetworks.com. 1344528611 16384 2048 1048576 2560
cmivfx.com. 1553 IN NS ns1.limestonenetworks.com.
cmivfx.com. 1553 IN NS ns2.limestonenetworks.com.
cmivfx.com. 1544 IN MX 1 ASPMX.L.GOOGLE.com.
cmivfx.com. 1544 IN MX 5 ALT1.ASPMX.L.GOOGLE.com.
cmivfx.com. 1544 IN MX 10 ASPMX2.GOOGLEMAIL.com.
cmivfx.com. 1544 IN MX 10 ASPMX3.GOOGLEMAIL.com.
cmivfx.com. 1544 IN MX 5 ALT2.ASPMX.L.GOOGLE.com.
cmivfx.com. 1519 IN A 69.162.76.226
;; Query time: 0 msec
;; SERVER: 208.115.254.242#53(208.115.254.242)
;; WHEN: Thu Aug 9 11:48:14 2012
;; MSG SIZE rcvd: 268
最後に、gmail でメール php コードを実行すると問題ありません。私が得る他のいくつかと
Could not instantiate mail function
sendmail について知っている人が助けてくれるのに十分な情報を提供できれば幸いです。本当にありがとう!