1

我在我的网站中创建了一个联系表格,并且,为了将电子邮件发送到网站帐户 (contact@mywebsite.com),我使用的是 gmail smtp,使用与我将接收消息相同的电子邮件。

因此,用户访问我的网站,点击联系页面,填写表格:姓名、电子邮件、消息。

比我发送带有以下代码的电子邮件:

        $config = Array(
        'protocol' => 'smtp',
        'smtp_host' => 'ssl://smtp.googlemail.com',
        'smtp_port' => 465,
        'smtp_user' => 'contact@mywebsite.com',
        'smtp_pass' => 'mypass',
        'mailtype' => 'html',
        'charset' => 'utf-8'
    );
    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");

    $email = $this->input->post('email');
    $name = $this->input->post('name');
    $msg = $this->input->post('msg');
    $this->email->to('contact@mywebsite.com');
    $this->email->reply_to($email); //User email submited in form
    $this->email->from($email, $name);
    $this->email->subject('Conctact form');
    $this->email->message($msg);
    if ($this->email->send())
    {
        return true;
    } else
    {
        echo $this->email->print_debugger();
        return false;
    }

电子邮件进入我的“contact@mywwebsite.com”收件箱,我可以正常阅读邮件,但是......当我点击“回复”而不是回复给我发送邮件的用户时,它回复到“我”(联系@mywebsite.com)。

我已经配置了reply_to,回复用户地址,不是我的,但仍然会去contact@mywebsite.com。

如何解决这个问题?我应该在代码或 gmail 设置中更改更多内容吗?

(PS.:我使用gmail界面阅读电子邮件,直接来自站点mail.google.com)

提前致谢。

-- 另外,当我收到电子邮件时,它显示:“发件人:'提交表单中的姓名'”

不是:“来自:'提交表单中的姓名'<'提交表单中的电子邮件'>”应该是这样。

4

2 回答 2

1

Gmail 会这样做,我认为没有任何解决方法。

“发件人”地址永远只是您用来发送电子邮件的帐户——您不能简单地“通过”gmail 的服务器。

如果您需要这样做,您将需要 SendGrid 或您自己的 smtp 服务器之类的东西

于 2013-02-21T23:46:00.277 回答
1

我修复了通过另一个用户发送电子邮件...我从 me@mywebsite.com 发送到contact@mywebsite.com,当我点击回复时,选择的用户与发送消息的用户相同。

GMail 似乎忽略了回复

于 2013-02-22T00:36:07.617 回答