从托管在Hostgator服务器上的PHP脚本发送SMTP电子邮件

从托管在Hostgator服务器上的PHP脚本发送SMTP电子邮件,php,codeigniter,email,gmail,Php,Codeigniter,Email,Gmail,我已经在需要发送的应用程序中创建了一个web应用程序,以便在用户忘记密码时向他们发送密码。现在我使用gmail帐户发送电子邮件。当我使用XAMPP从我的机器本地发送电子邮件时,一切正常,并按预期交付。当我想把php脚本放到Hostgator服务器上并尝试向用户发送密码时,我做不到。但我认为发生这种情况的原因是Gmail立即向我发送了以下信息: Someone recently used your password to try to sign in to your Google Account

我已经在需要发送的应用程序中创建了一个web应用程序,以便在用户忘记密码时向他们发送密码。现在我使用gmail帐户发送电子邮件。当我使用XAMPP从我的机器本地发送电子邮件时,一切正常,并按预期交付。当我想把php脚本放到Hostgator服务器上并尝试向用户发送密码时,我做不到。但我认为发生这种情况的原因是Gmail立即向我发送了以下信息:

Someone recently used your password to try to sign in to your Google Account myemail@gmail.com. This person was using an application such as an email client or mobile device. 

We prevented the sign-in attempt in case this was a hijacker trying to access your account. Please review the details of the sign-in attempt: 

Tuesday, January 21, 2014 1:42:56 PM UTC 
IP Address: 198.57.247.245 (gator3281.hostgator.com.) 
Location: Los Angeles, CA, USA


If you do not recognize this sign-in attempt, someone else might be trying to access your account. You should sign in to your account and reset your password immediately
基于这封电子邮件,我认为Gmail很敏感,因为hostgator正试图通过他们发送电子邮件。我的问题是我不知道如何解决这个问题(这是我第一次做这样的事情),因此我使用了一个名为codeigniter的PHP框架,下面是用于发送电子邮件的代码(请注意,此代码在本地工作得非常好,即我认为代码没有任何问题):


这件事上的任何帮助都会很有帮助,谢谢你的gmail设置;你需要允许你的网站发送电子邮件


要执行此操作,请转到并单击“继续”;然后使用你的网站发送电子邮件;谷歌将检测您的登录尝试并允许您使用。

为什么不尝试其他服务,如Mailchimp或Sendgrid来发送事务性电子邮件?它们很容易集成。您可以使用php邮件功能从hostgator服务器发送电子邮件,并将回复路径设置为:myemail@gmail.com...so收到您电子邮件的人将看到发件人和回复地址myemail@gmail.com..if你需要我可以发布一个答案与php邮件功能代码..谢谢!!解决了我的问题!在我的情况下,我必须使用下面的链接并启用不太安全的应用程序。这对我来说很有效,但为什么只有一些人质需要这样做呢?首先,你是一名冠军。其次,这对我来说是在启用“不太安全的应用程序”的基础上需要的,这样我的自动网络系统才能发送消息,因为它会遇到“登录尝试被阻止”的问题。我无法理解为什么谷歌支持论坛至今对这一点的记录如此之差。
public function SendEmailValidate($email,$subject,$message,$type)
    {
        $config = array(
                        'protocol' => 'smtp',
                        'smtp_host' => 'ssl://smtp.googlemail.com',
                        'smtp_port' => 465,
                        'smtp_user' => 'myemail@gmail.com',
                        'smtp_pass' => 'mypassword',
                        'smtp_timeout' => 30,
                        'mailtype' => $type
                        );
        $CI = &get_instance();

        $CI->load->library('email',$config);
        $CI->email->set_newline("\r\n");
        $CI->email->from('myemail@gmail.com','Book Bay');
        $CI->email->to($email);
        $CI->email->subject($subject);
        $CI->email->message($message);

        if($CI->email->send())
        {
            return true;
        }
        else
        {
            return false;
        }
    }