未将php变量传递给mail();在“行”中加上“;参数
长时间侦听器,第一次调用 我最近开始阅读O'Reilly关于PHP的“Head First”书籍,这是他们的一个练习——你们中的一些人可能对代码很熟悉 本课程的目标是演示php中的“邮件”函数是如何工作的,为此,他们给出了以下代码作为示例(为简洁/上下文而编辑): ----------------------------------编辑----------------------------------- 以下是每个请求的未将php变量传递给mail();在“行”中加上“;参数,php,email,variables,Php,Email,Variables,长时间侦听器,第一次调用 我最近开始阅读O'Reilly关于PHP的“Head First”书籍,这是他们的一个练习——你们中的一些人可能对代码很熟悉 本课程的目标是演示php中的“邮件”函数是如何工作的,为此,他们给出了以下代码作为示例(为简洁/上下文而编辑): ----------------------------------编辑----------------------------------- 以下是每个请求的phpinfo()结果: 除了填写并提交表格后我不会收到任何电子邮件外,一
phpinfo()
结果:
除了填写并提交表格后我不会收到任何电子邮件外,一切正常
从“mail()”中删除$to变量并用静态字符串('myemail@myemail.com我确实收到了一封格式正确的电子邮件
我还将“$to”变量连接到邮件正文,并在邮件正文中正确显示
所以我不明白为什么不能在邮件的“收件人”行中使用它。我错过了什么?好吧,这很尴尬,但我最好在浪费别人宝贵的时间之前承认这一点 在访问了PHP文档站点,运行了几次Google搜索,并用另一组眼睛查看了原始代码之后,问题通过添加一个“r”得到了解决,没有过多的细节。这是一个隐藏在长电子邮件地址中的打字错误
谢谢你的帮助,道森,但你从来没有机会 您是否已尝试将
'From:'.$email
放入$headers
变量:$headers='From:'.$email。。。邮件($to$sub$msg$headers)
?您的代码似乎是正确的,但这并不意味着您的服务器喜欢它。这是在什么类型的服务器上运行的?我还想把你的$to email加两倍,只是为了排除这个问题。这不是对这个问题的直接回答,但是你是否考虑过使用高质量的mailer类,而不是PHP糟糕的内置mail()
函数?我建议下载或下载。它们让用PHP编写简单的电子邮件程序变得非常简单。感谢您的快速回复。。。道森:我只是尝试了你的“嵌套变量”想法,但没有得到任何改变。我忘了提到我已经尝试了双引号,但也没有成功。服务器是托管包的一部分,因为这是我第一次尝试服务器端脚本,也是我第一次认真尝试编程,所以我认为对“服务器类型”问题的最佳答案是将(第一页)响应发布到phpinfo()代码>-请参见上面的结果。斯帕德利:谢谢你的建议。。。当然值得一看!
$email = $_POST['email'];
$to = 'myemail@myemail.com';
$subject = 'Abduction report';
$message = "$name . was abducted $when_it_happened and was gone for $how_long . \n" .
"Number of aliens: $how_many \n" .
"Alien description $alien_description\n" .
"What they did: $what_they_did \n" .
"Fang spotted: $fang_spotted \n" .
"Other comments: $other";
mail($to, $subject, $message, 'From:' . $email);
System: Linux infong 2.4 #1 SMP Thu Feb 14 13:02:49 CET 2013 i686 GNU/Linux
Build date: Apr 10 2013 13:38:50
Configure Command: '../configure' 'programsuffix=5' 'withpear=/usr/lib/php5' 'with configfilepath=/usr/lib/php5' 'withlibxmldir' 'withmysqli' 'withkerberos' 'withimapssl' 'enablesoap' 'withxsl' 'enablembstring=all' 'withcurl' 'withmcrypt' 'withgd' 'withpdomysql' 'withfreetypedir' 'withlibxmldir' 'withmysql' 'withzlib' 'enabledebug=no' 'enablesafemode=no' 'enablediscardpath=no' 'withpngdir' 'enabletrackvars' 'withdb' 'withgdbm' 'enableforcecgiredirect' 'enablefastcgi' 'withttf' 'enableftp' 'enabledbase' 'enablememorylimit' 'enablecalendar' 'enablewddx' 'withjpegdir=/usr/src/kundenserver/jpeg6b' 'enablebcmath' 'enablegdimgstrttf' 'enableshmop' 'enablemhash' 'withmhash' 'withopenssl' 'enablexslt' 'withxsltsablot' 'withdom' 'withdomxslt' 'withdomexslt' 'withimap' 'withiconv' 'withbz2' 'withgettext' 'enableexif' 'withidn' 'withsqlite' 'enablesqliteutf8' 'enablezip' 'withtidy' 'enablegdnativettf'
Server API: CGI/FastCGI
Virtual Directory Support: disabled
Configuration File (php.ini) Path: /usr/lib/php5
Loaded Configuration File: /usr/lib/php5/php.ini
Scan this dir for additional .ini files: (none)
additional .ini files parsed: (none)
PHP API: 20041225
PHP Extension: 20060613
Debug Build: no
Thread Safety: disabled
Zend Memory Manager: enabled
IPv6 Support: enabled
Registered PHP Streams: https, ftps, compress.zlib, compress.bzip2, php, file, data, http, ftp, zip
Registered Stream Socket Transports: tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Strem Filters: zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed