我正在使用 phps mail() 函数发送确认电子邮件。
据我所知,电子邮件是通过 gmail 和其他邮箱接收的,我遇到的唯一真正问题是将电子邮件发送到 Hotmail 或 Yahoo 帐户时。
网上看了很多人建议PHPmailer
你们建议在发送 php mail() 时做什么?我正在创建的这个网站是为了合法的业务,无论我将邮件发送给谁,我都需要发送和接收邮件。
以下是我目前的代码,我使用了特定的 header 来尝试解决问题。我拥有自己的专用服务器,而且我没有被列入任何垃圾邮件列表的黑名单,我能想到的就是 php 本身。
$to = $email;
$subject = "Subject";
$body = "Message";
$headers .= "From: Accounts <accounts@site.com>\r\n";
$headers .= "Reply-To: <accounts@site.com>\r\n";
$headers .= "X-Sender: <accounts@site.com>\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . '\r\n'; //mailer
$headers .= "X-Priority: 3\r\n"; //1 UrgentMessage, 3 Normal
$headers .= "Return-Path: <accounts@site.com>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
mail($to, $subject, $body, $headers);
非常感谢任何帮助。
问候。
最佳答案
在大多数情况下,使用 PHPMailer、swiftmailer 或任何其他库不会提高您的交付率:最有可能的罪魁祸首是您的服务器设置。
成功发送电子邮件是出了名的困难,请阅读此处:http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html以获得必要条件的基本概述。
Yahoo 特别需要 DKIM 设置,如果您的 ISP 没有为您完成此操作,或者您使用的是 VPS,那将是一件非常痛苦的事情。
成功发送电子邮件比不在黑名单上花费的时间要多得多。许多 ISP 的默认设置是假设您是垃圾邮件,直到您设置好让他们不这么认为的东西。在证明无罪之前有罪。
在 codinghorror 帖子中,请注意这段话:
Port25 offers a really nifty public service -- you can send email to check-auth@verifier.port25.com and it will reply to the from: address with an extensive diagnostic!
我必须使用备用地址才能进行测试; check-auth2@verifier.port25.com。您可以在此处阅读有关为什么要使用每个地址进行测试的详细信息:http://www.port25.com/domainkeys/
从长远来看,如果您要发送交易电子邮件(即不是群发邮件,而是响应用户操作的电子邮件),我建议使用邮戳 (postmarkapp.com) 这样的服务,因为每笔费用为 1/10 美分电子邮件,你会为你处理所有丑陋的事情。
关于php mail() -> 垃圾邮件,有时甚至收不到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4332959/
我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为
我有一个表单,其中有很多字段取自数组(而不是模型或对象)。我如何验证这些字段的存在?solve_problem_pathdo|f|%>... 最佳答案 创建一个简单的类来包装请求参数并使用ActiveModel::Validations。#definedsomewhere,atthesimplest:require'ostruct'classSolvetrue#youcouldevencheckthesolutionwithavalidatorvalidatedoerrors.add(:base,"WRONG!!!")unlesss
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在首页我有:汽车:VolvoSaabMercedesAudistatic_pages_spec.rb中的测试代码:it"shouldhavetherightselect"dovisithome_pathit{shouldhave_select('cars',:options=>['volvo','saab','mercedes','audi'])}end响应是rspec./spec/request
我使用Nokogiri(Rubygem)css搜索寻找某些在我的html里面。看起来Nokogiri的css搜索不喜欢正则表达式。我想切换到Nokogiri的xpath搜索,因为这似乎支持搜索字符串中的正则表达式。如何在xpath搜索中实现下面提到的(伪)css搜索?require'rubygems'require'nokogiri'value=Nokogiri::HTML.parse(ABBlaCD3"HTML_END#my_blockisgivenmy_bl="1"#my_eqcorrespondstothisregexmy_eq="\/[0-9]+\/"#FIXMEThefoll
我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions
我已经看到了一些其他的问题,尝试了他们的建议,但没有一个对我有用。我已经使用Rails大约一年了,刚刚开始一个新的Rails项目,突然遇到了问题。我卸载并尝试重新安装所有Ruby和Rails。Ruby很好,但Rails不行。当我输入railss时,我得到了can'tfindgemrailties。我当前的Ruby版本是ruby2.2.2p95(2015-04-13修订版50295)[x86_64-darwin15],尽管我一直在尝试通过rbenv设置ruby2.3.0。如果我尝试rails-v查看我正在运行的版本,我会得到同样的错误。我使用的是MacOSXElCapitan版本10
我花了几天时间尝试安装ruby1.9.2并让它与gems一起工作:-/我最终放弃了我的MacOSX10.6机器,下面是我的Ubuntu机器上的当前状态。任何建议将不胜感激!#rubytest.rb:29:in`require':nosuchfiletoload--mongo(LoadError)from:29:in`require'fromtest.rb:1:in`'#cattest.rbrequire'mongo'db=Mongo::Connection.new.db("mydb")#gemwhichmongo/usr/local/rvm/gems/ruby-1.9.2-p0/g
考虑一下:现在这些情况:#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2我需要用其他字符串输出URL。我如何保证&符号不会被转义?由于我无法控制的原因,我无法发送&。求助!把我的头发拉到这里:\编辑:为了澄清,我实际上有一个像这样的数组:@images=[{:id=>"fooid",:url=>"http://
我正在尝试以一种更类似于普通RubyGem结构的方式构建我的Sinatra应用程序。我有以下文件树:.├──app.rb├──config.ru├──Gemfile├──Gemfile.lock├──helpers│ ├──dbconfig.rb│ ├──functions.rb│ └──init.rb├──hidden│ └──Rakefile├──lib│ ├──admin.rb│ ├──api.rb│ ├──indexer.rb│ ├──init.rb│ └──magnet.rb├──models│ ├──init.rb│ ├──invite.rb│ ├─
我正在尝试在SUSEEnterprise11SP3上安装compass。我得到以下信息。有什么想法吗?geminstallcompassBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingcompass:ERROR:Failedtobuildgemnativeextension./usr/bin/rubyextconf.rbmkmf.rbcan'tfindheaderfilesforrubyat/usr/lib64/ruby/ruby.hextconffailed,exitcode1Gemfileswi