0

我在 Windows 上使用 apache、php 和 sendmail.exe。我下载 sendmail.exe 并像这样配置它:

        ; configuration for fake sendmail

    ; if this file doesn't exist, sendmail.exe will look for the settings in
    ; the registry, under HKLM\Software\Sendmail

    [sendmail]

    ; you must change mail.mydomain.com to your smtp server,
    ; or to IIS's "pickup" directory.  (generally C:\Inetpub\mailroot\Pickup)
    ; emails delivered via IIS's pickup directory cause sendmail to
    ; run quicker, but you won't get error messages back to the calling
    ; application.

    smtp_server=smtp.gmail.com

    ; smtp port (normally 25)

    smtp_port=587

    ; the default domain for this server will be read from the registry
    ; this will be appended to email addresses when one isn't provided
    ; if you want to override the value in the registry, uncomment and modify

    default_domain=domain.com

    ; log smtp errors to error.log (defaults to same directory as sendmail.exe)
    ; uncomment to enable logging

    error_logfile=error.log

    ; create debug log as debug.log (defaults to same directory as sendmail.exe)
    ; uncomment to enable debugging

    ;debug_logfile=debug.log

    ; if your smtp server requires authentication, modify the following two lines

    auth_username=admin@whilgeek.com
    auth_password=19910610

    ; if your smtp server uses pop3 before smtp authentication, modify the 
    ; following three lines

    pop3_server=
    pop3_username=
    pop3_password=

    ; to force the sender to always be the following email address, uncomment and
    ; populate with a valid email address.  this will only affect the "MAIL FROM"
    ; command, it won't modify the "From: " header of the message content

    force_sender=webmaster@domain.com

    ; sendmail will use your hostname and your default_domain in the ehlo/helo
    ; smtp greeting.  you can manually set the ehlo/helo name if required

    ;hostname=

我的 php.ini 中的电子邮件功能是这样的:

[mail function]
    ; For Win32 only.
    SMTP = localhost
    smtp_port = 25

    ; For Win32 only.
    sendmail_from = admin@whilgeek.com

    ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    sendmail_path =C:\usr\lib\sendmail.exe -t

    ; Force the addition of the specified parameters to be passed as extra parameters
    ; to the sendmail binary. These parameters will always replace the value of
    ; the 5th parameter to mail(), even in safe mode.
    ;mail.force_extra_parameters =

我在我的电脑上使用 userCake1.4(在此处下载表格),它显示已成功发送电子邮件。但是我没有收到发送给我的 gamil 的电子邮件。

有什么不对?

4

1 回答 1

0

我认为您的问题是反向 DNS 查找。当您从服务器发送电子邮件时,您的服务器必须连接到 Internet,并且反向 DNS 查找必须指向您的服务器。

例如,mail.example.com 的地址 (A) 记录指向 IP 地址 192.0.2.5。在反向数据库的指针记录中,这个IP地址被存储为域名5.2.0.192.in-addr.arpa,指向其指定的主机名mail.example.com。

请参阅http://en.wikipedia.org/wiki/Reverse_DNS_lookup

于 2012-09-27T10:39:07.140 回答