【问题标题】:Getting email provider from email address从电子邮件地址获取电子邮件提供商
【发布时间】:2016-08-21 18:48:30
【问题描述】:

我正在尝试从任何电子邮件地址获取电子邮件提供商(例如:gmail、outlook、yahoo),以便我可以使用特定的 smtp 设置来避免我的邮件被列为垃圾邮件。

我目前的方法是解析电子邮件地址的邮件服务器部分并将其用作标识符,但电子邮件提供商有多个邮件服务器(例如:outlook 有 outlook.com,但也有 live.ca)。

对于识别邮件提供商的简单方法有什么建议吗?如果有任何使用 PHP 的方法,那将是特别可取的。有什么帮助吗?

【问题讨论】:

    标签: email smtp


    【解决方案1】:

    您可以使用映射将邮件域名(您在解析电子邮件地址后获得)映射到邮件提供商:

    $providerMap = array(
        "gmail" => "Gmail"
        "outlook" => "Outlook"
        "live" => "Outlook"
        # etc...
    );
    

    然后,你可以这样使用它:

    $providerDomain = getDomain($emailAddress); // assuming getDomain() is the function that parses an email address and returns 
    
    echo "The provider is: $providerMap[$providerDomain]"
    

    P.S.:您可能想考虑如何处理电子邮件地址域名与任何提供商不匹配的情况。你可以:

    • 抛出异常/显示错误消息
    • 添加允许授权用户添加新提供者的功能(即在地图中添加新条目)
    • ...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多