我想通过php的邮件功能在我的localhost上发送电子邮件,我有一个文件,其中包含html和php,.html文件由xampp加载到我的localhost上,当点击“发送邮件”按钮时我收到了“发送电子邮件”评论,但实际上并未在我的收件箱中收到。
.html文件是
<?php
if (!isset($_POST["submit"])) {
?>
<form action="" method="POST" enctype="multipart/form-data">
Your name:<br>
<input name="name" type="text" value="" size="30"/><br>
Your email:<br>
<input name="email" type="text" value="" size="30"/><br>
<input name="submit" type="submit" value="submit"/>
</form>
<?php
}
else
{
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
if (($name=="")||($email==""))
{
echo "All fields are required.";
}
else{
$message=$name.''.$email;
$subject="Data of users";
$sent=mail("farnam7022@yahoo.com", $subject, $message);
if($sent)
{ echo "Email sent!"; }
else
{ echo "We encountered an error sending your mail"; }
}
}
?>
这是sendmail.in:
[sendmail]
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=farnam70422@gmail.com
auth_password=**** //my password
force_sender=farnam70422@gmail.com
这是php.in
[PHP]
engine=On
short_open_tag=Off
asp_tags=Off
precision=14
y2k_compliance=On
output_buffering=4096
zlib.output_compression=Off
implicit_flush=Off
unserialize_callback_func=
serialize_precision=100
allow_call_time_pass_reference=Off
safe_mode=Off
safe_mode_gid=Off
safe_mode_include_dir=
safe_mode_exec_dir=
safe_mode_allowed_env_vars=PHP_
safe_mode_protected_env_vars=LD_LIBRARY_PATH
disable_functions=
disable_classes=
zend.enable_gc=On
expose_php=On
max_execution_time=30
max_input_time=60
memory_limit=128M
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors=On
display_startup_errors=On
log_errors=On
log_errors_max_len=1024
ignore_repeated_errors=Off
ignore_repeated_source=Off
report_memleaks=On
track_errors=On
html_errors=On
error_log="E:\Xamp\php\logs\php_error_log"
variables_order="GPCS"
request_order="GP"
register_globals=Off
register_long_arrays=Off
register_argc_argv=Off
auto_globals_jit=On
post_max_size=8M
magic_quotes_gpc=Off
magic_quotes_runtime=Off
magic_quotes_sybase=Off
auto_prepend_file=
auto_append_file=
default_mimetype="text/html"
include_path=".;E:\Xamp\php\PEAR"
doc_root=
user_dir=
extension_dir="E:\Xamp\php\ext"
enable_dl=On
upload_tmp_dir="E:\Xamp\tmp"
upload_max_filesize=2M
max_file_uploads=20
allow_url_fopen=On
allow_url_include=Off
default_socket_timeout=60
extension=php_bz2.dll
extension=php_curl.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
[CLI Server]
cli_server.color=On
[Date]
date.timezone=Europe/Berlin
[filter]
[iconv]
[intl]
[sqlite]
[sqlite3]
[Pcre]
[Pdo]
[Pdo_mysql]
pdo_mysql.cache_size=2000
pdo_mysql.default_socket="MySQL"
[Phar]
[Syslog]
define_syslog_variables=Off
[mail function]
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = farnam70422@gmail.com
sendmail_path = "\"E:\xampp\sendmail\sendmail.exe\" -t"
mail.add_x_header=Off
[SQL]
sql.safe_mode=Off
[ODBC]
odbc.allow_persistent=On
odbc.check_persistent=On
odbc.max_persistent=-1
odbc.max_links=-1
odbc.defaultlrl=4096
odbc.defaultbinmode=1
[Interbase]
ibase.allow_persistent=1
ibase.max_persistent=-1
ibase.max_links=-1
ibase.timestampformat="%Y-%m-%d %H:%M:%S"
ibase.dateformat="%Y-%m-%d"
ibase.timeformat="%H:%M:%S"
[MySQL]
mysql.allow_local_infile=On
mysql.allow_persistent=On
mysql.cache_size=2000
mysql.max_persistent=-1
mysql.max_links=-1
mysql.default_port=3306
mysql.default_socket="MySQL"
mysql.default_host=
mysql.default_user=
mysql.default_password=
mysql.connect_timeout=3
mysql.trace_mode=Off
[MySQLi]
mysqli.max_persistent=-1
mysqli.allow_local_infile=On
mysqli.allow_persistent=On
mysqli.max_links=-1
mysqli.cache_size=2000
mysqli.default_port=3306
mysqli.default_socket="MySQL"
mysqli.default_host=
mysqli.default_user=
mysqli.default_pw=
mysqli.reconnect=Off
[mysqlnd]
mysqlnd.collect_statistics=On
mysqlnd.collect_memory_statistics=Off
[OCI8]
[PostgresSQL]
pgsql.allow_persistent=On
pgsql.auto_reset_persistent=Off
pgsql.max_persistent=-1
pgsql.max_links=-1
pgsql.ignore_notice=0
pgsql.log_notice=0
[Sybase-CT]
sybct.allow_persistent=On
sybct.max_persistent=-1
sybct.max_links=-1
sybct.min_server_severity=10
sybct.min_client_severity=10
[bcmath]
bcmath.scale=0
[browscap]
browscap="E:\Xamp\php\extras\browscap.ini"
[Session]
session.save_handler=files
session.save_path="E:\Xamp\tmp"
session.use_cookies=1
session.use_only_cookies=0
session.name=PHPSESSID
session.auto_start=0
session.cookie_lifetime=0
session.cookie_path=/
session.cookie_domain=
session.cookie_httponly=
session.serialize_handler=php
session.gc_probability=1
session.gc_divisor=1000
session.gc_maxlifetime=1440
session.bug_compat_42=On
session.bug_compat_warn=On
session.referer_check=
session.entropy_length=0
session.entropy_file=
session.cache_limiter=nocache
session.cache_expire=180
session.use_trans_sid=0
session.hash_function=0
session.hash_bits_per_character=5
url_rewriter.tags="a=href,area=href,frame=src,input=src,form=fakeentry"
[MSSQL]
mssql.allow_persistent=On
mssql.max_persistent=-1
mssql.max_links=-1
mssql.min_error_severity=10
mssql.min_message_severity=10
mssql.compatability_mode=Off
mssql.secure_connection=Off
[Assertion]
[COM]
[mbstring]
[gd]
[exif]
[Tidy]
tidy.clean_output=Off
[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit=5
[sysvshm]
[ldap]
ldap.max_links=-1
[mcrypt]
[dba]
[FrontBase]
[mime_magic]
mime_magic.magicfile="E:\Xamp\php\extras\magic.mime"
[eAccelerator]
eaccelerator.shm_size="0"
eaccelerator.cache_dir="E:\Xamp\tmp"
eaccelerator.enable="1"
eaccelerator.debug=0
eaccelerator.check_mtime="1"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
[XDebug]
顺便说一句,xampp正在使用端口85,窗口是7,xampp版本是1.8.2.2
任何帮助都会非常感激。
答案 0 :(得分:0)
您的代码没有任何问题。我已经复制了它,一切正常。
检查您的垃圾文件夹,可能邮件甚至无法到达,因为邮件服务器的IP已被禁止。
您的服务器配置可能有问题,我不知道。 最后,您可以尝试将此代码添加到脚本的开头:
<?php ini_set("sendmail_form", "info@mydomain.com"); ?>
阅读mail()
函数要求:
要使邮件功能可用, PHP必须有权访问 编译期间,系统上的sendmail二进制文件。如果你使用另一个 邮件程序,如qmail或postfix,请务必使用相应的 随附的sendmail包装器。 PHP将首先寻找 在您的PATH中发送sendmail,然后在以下内容中: 在/ usr / bin中:/ usr / sbin目录:/ USR的/ etc中:/ etc:在/ usr / ucblib中:/ usr / lib目录。这是非常高的 建议您从PATH获得sendmail。另外,用户 已编译的PHP必须具有访问sendmail二进制文件的权限。