草庐IT

PHP 邮件功能不向某些地址发送电子邮件

coder 2023-08-08 原文

我一直在使用 php 邮件功能在客户注册时向他们发送包含帐户详细信息的电子邮件,但我只是刚刚发现有些人收不到电子邮件。例如。当我向我的每个同事发送电子邮件时,当测试时只有我和另一个同事正在接收电子邮件时

- me who received email
- pam@companyx.co.uk
- collegue who received email
- bill@companyx.co.uk
- collegue who did not receive emails:
- email 1 - ted@companyx.co.uk,
- email 2 - ted@companyy.co.uk
- collegue who did not receive emails:
- cal@companyy.co.uk
- collegue who did not receive emails:
- emma@companyy.co.uk

垃圾邮件文件夹中也没有收到邮件..

$from = "companyy <support@companyy.co.uk>";          
$subject = "$username Account Details for companyy.co.uk";     
$message = "You have been registered as an administrator of companyy Online.
You can manage your clients, bills and other account functions online.       

Your Username: $username
Your Password: $password2
Your Four-Digit PIN: $PIN         

Once logged in you can change your password to something you will find easier to remember. Please delete this email once you have changed your settings or memorised them.           

Thank you        

This is an automated response, please do not reply!";

mail($email, $subject, $message, $from);
Header('Location: results.php?msg=Added Successfully');

最佳答案

这里有一个关于发送电子邮件的肮脏小 secret :你会失去控制。一旦他们离开了您的服务器,您的电子邮件就可以通过互联网之神的恩典到达目的地。在此过程中,它从一个网络“握手”到下一个网络。它到达最终目的地,然后受到大量垃圾邮件过滤器和规则的约束,而许多技术人员对此一无所知。例如,您是否知道 MSN Hotmail、AOL 等不会一次从服务器(IP 范围)接受超过一定数量的电子邮件?一旦您达到服务器预定的(未发布的)限制,无论其垃圾邮件等级如何,电子邮件都将被保留。最终它会被允许通过,但这意味着您的用户的密码请求不会是即时的。这是另一个花絮——服务器根据域的生命周期和其他未发布的因素获得“信任”。您的域名长期存在吗?您是否在 blacklist 上列出?电子邮件是否为“垃圾邮件”(使用工具 like this 检查)

还有像 AOL 这样的网站,即使是来自优质服务器的优质电子邮件也不会定期发送。 (谷歌“aol deliverability”以获得一些有趣的阅读)

那么,怎么办?从黑名单检查开始。如果那很好,请检查标题。 “发件人”地址是否与发送电子邮件的域匹配,该帐户是否有效?这可能是垃圾邮件的大危险信号。为了避免这个问题,我的公司(每天发送 50,000 多封电子邮件)通常会设置“虚拟”回复帐户。您是否在您正在测试的用户的白名单中?用户是否在使用像 Outlook 这样随机将自己列入黑名单的程序?更改您的消息并查看可传递性是否有所提高。使用多个不同的主机进行测试,看看它是否只是一个特定的系统。

冲洗、重复并继续……

关于PHP 邮件功能不向某些地址发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5141326/

有关PHP 邮件功能不向某些地址发送电子邮件的更多相关文章

  1. ruby-on-rails - 在 Rails 和 ActiveRecord 中查询时忽略某些字段 - 2

    我知道我可以指定某些字段来使用pluck查询数据库。ids=Item.where('due_at但是我想知道,是否有一种方法可以指定我想避免从数据库查询的某些字段。某种反拔?posts=Post.where(published:true).do_not_lookup(:enormous_field) 最佳答案 Model#attribute_names应该返回列/属性数组。您可以排除其中一些并传递给pluck或select方法。像这样:posts=Post.where(published:true).select(Post.attr

  2. ruby - 从 Ruby 中的主机名获取 IP 地址 - 2

    我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge

  3. jquery - 我的 jquery AJAX POST 请求无需发送 Authenticity Token (Rails) - 2

    rails中是否有任何规定允许站点的所有AJAXPOST请求在没有authenticity_token的情况下通过?我有一个调用Controller方法的JqueryPOSTajax调用,但我没有在其中放置任何真实性代码,但调用成功。我的ApplicationController确实有'request_forgery_protection'并且我已经改变了config.action_controller.consider_all_requests_local在我的environments/development.rb中为false我还搜索了我的代码以确保我没有重载ajaxSend来发送

  4. ruby-on-rails - Cucumber 是否只是 rspec 的包装器以帮助将测试组织成功能? - 2

    只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您

  5. ruby - 使用 Ruby 通过 Outlook 发送消息的最简单方法是什么? - 2

    我的工作要求我为某些测试自动生成电子邮件。我一直在四处寻找,但未能找到可以快速实现的合理解决方案。它需要在outlook而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。显然win32ole可以做到这一点,但我找不到任何相当简单的例子。 最佳答案 假设存储了Outlook凭据并且您设置为自动登录到Outlook,WIN32OLE可以很好地完成此操作:require'win32ole'outlook=WIN32OLE.new('Outlook.Application')message=

  6. ruby - 是否可以在不实际发送或读取数据的情况下查明 ruby​​ 套接字是否处于 ESTABLISHED 或 CLOSE_WAIT 状态? - 2

    s=Socket.new(Socket::AF_INET,Socket::SOCK_STREAM,0)s.connect(Socket.pack_sockaddr_in('port','hostname'))ssl=OpenSSL::SSL::SSLSocket.new(s,sslcert)ssl.connect从这里开始,如果ssl连接和底层套接字仍然是ESTABLISHED,或者它是否在默认值7200之后进入CLOSE_WAIT,我想检查一个线程几秒钟甚至更糟的是在实际上不需要.write()或.read()的情况下关闭。是用select()、IO.select()还是其他方法完成

  7. ruby - 如何在 ruby​​ 中复制目录结构,不包括某些文件扩展名 - 2

    我想编写一个ruby​​脚本来递归复制目录结构,但排除某些文件类型。因此,给定以下目录结构:folder1folder2file1.txtfile2.txtfile3.csfile4.htmlfolder2folder3file4.dll我想复制这个结构,但不包含.txt和.cs文件。因此,生成的目录结构应如下所示:folder1folder2file4.htmlfolder2folder3file4.dll 最佳答案 您可以使用查找模块。这是一个代码片段:require"find"ignored_extensions=[".cs"

  8. ruby-on-rails - rails 功能测试 - 2

    在Rails自动生成的功能测试(test/functional/products_controller_test.rb)中,我看到以下代码:classProductsControllerTest我的问题是:方法调用products()在哪里/如何定义?products(:one)到底是什么意思?看代码,大概意思是“创建一个产品”,但是它是如何工作的呢?注意我是Ruby/Rails的新手,如果这些是微不足道的问题,我深表歉意。 最佳答案 如果您查看test/fixtures文件夹,您会看到一个products.yml文件。这是在您创建

  9. ruby-on-rails - 验证电子邮件地址是 Paypal 用户 - 2

    我想验证一个电子邮件地址是否是PayPal用户。是否有API调用来执行此操作?是否有执行此操作的ruby​​库?谢谢 最佳答案 GetVerifiedStatus来自PayPal'sAdaptiveAccounts平台会为您做这件事。PayPal没有任何codesamples或SDKs用于Ruby中的自适应帐户,但我确实找到了编写codeforGetVerifiedStatusinRuby的人.您需要更改该代码以检查他们拥有的帐户类型的唯一更改是更改if@xml['accountStatus']!=nilaccount_status

  10. ruby-on-rails - Ruby on Rails - 需要在每周的特定时间将消息发送到电子邮件 - 2

    我想知道我应该如何着手这个项目。我需要每周向人们发送一次电子邮件。但是,这必须在每周的特定时间自动生成并发送。编码有多难?我需要知道是否有任何书籍可以提供帮助,或者你们中的任何人是否可以指导我。它必须使用ruby​​onrails进行编程。因此有一个网络服务和数据库集成。干杯 最佳答案 为什么这么复杂?您只需安排工作。您可以使用Delayed::Job例如。Delayed::Job让您可以使用run_at符号在特定时间安排作业,如下所示:Delayed::Job.enqueue(SendEmailJob.new(...),:run_

随机推荐