【问题标题】:Mailer Error: SMTP() requires user credentials邮件程序错误:SMTP() 需要用户凭据
【发布时间】:2017-05-06 00:49:24
【问题描述】:

我有一个系统,当用户注册时,系统会向用户发送一封包含激活链接的电子邮件。我正在使用 SMTP connect() 执行此过程。但它要求我要向其发送电子邮件的用户凭据(带密码),这在生产级别没有意义。我如何在不知道用户凭据的情况下执行此操作?

【问题讨论】:

  • 您还设置了哪些其他参数?您是否为每个域正确设置了 SMTP 服务器?
  • $mail->IsSMTP(); // 启用 SMTP $mail->SMTPDebug = 1; // 调试:1 = 错误和消息,2 = 仅消息 $mail->SMTPAuth = true; // 启用身份验证 $mail->SMTPSecure = 'ssl'; // Gmail 需要启用安全传输 $mail->Host = "smtp.gmail.com"; $邮件->端口= 465; // 或者 587 我认为他们是正确的
  • 所有电子邮件都来自 Gmail 帐户吗?他们输入的 SMTP 凭据仅对特定服务器有效,具体取决于他们的电子邮件提供商。

标签: php gmail phpmailer


【解决方案1】:

这已在此处多次介绍 - gmail 不允许您从任意地址发送,并且要求用户的凭据以允许从他们的帐户发送只是疯了;没有人应该永远这样做。不要从用户那里发送;从您自己的地址发送,并使用提交者的地址作为回复地址。这样,您只需要自己的凭据,不会伪造发件人地址。

【讨论】:

    猜你喜欢
    • 2020-12-08
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 2014-12-12
    • 2013-09-01
    • 1970-01-01
    相关资源
    最近更新 更多