535 Error: authentication failed,和 550 User has no permission设置邮箱授权问题(设置自动发送验证邮件的问题)

535 Error: authentication failed 是因为还没开启邮箱的授权

因为我是新注册的邮箱,所以还没设置开启客户端授权码,所以就报了这个错误
解决:(网易)进入设置==》客户端授权密码==》点击开启
在这里插入图片描述
在这里插入图片描述
开启了就可以

注意注意:设置了授权码之后就要去改代码
代码里需要我们填写的密码是授权码!!授权码!!授权码!!不是邮箱密码
所以没有改成授权码的就会报一下的错误

550 User has no permission 密码错误,应该是授权码

### 如何在 PrestaShop 中配置使用企业邮箱 SMTP #### 1. 确认服务器支持邮件功能 为了使 PrestaShop 能够正常发送电子邮件,服务器必须支持邮件功能。如果运行环境是 AMH,默认的安全模式可能阻止跨域访问,从而影响邮件发送的功能。因此,在开始配置之前,请确认已调整 AMH 的设置以允许邮件服务的正常使用[^1]。 --- #### 2. 配置 PrestaShop 使用 SMTP 模式 PrestaShop 提供两种方式来发送邮件:`PHP mail()` 函数 `SMTP` 协议。由于 PHP 的 `mail()` 函数可能存在性能问题(如速度慢或无法成功发送),推荐使用更可靠的 SMTP 方式。 以下是具体步骤: ##### (1)进入后台管理页面 登录到您的 PrestaShop 后台管理系统,导航至 **高级参数 > 邮件** 页面。 ##### (2)启用 SMTP 并填写基本信息 - **启用 SMTP**:勾选此选项以激活 SMTP 功能。 - **服务器地址 (SMTP)**:输入您所使用的 SMTP 服务器地址。例如,如果您使用的是阿里云企业邮箱,则应填写 `smtp.mxhichina.com`;如果是 Gmail,则为 `smtp.gmail.com`。 - **端口号**:通常情况下,未加密连接使用端口 `25` 或 `587`,而 SSL 加密则需指定端口 `465`。 - **身份验证方法**:选择适合的身份验证机制(大多数情况默认即可)。 - **用户名**:通常是完整的电子邮箱地址,比如 `example@yourdomain.com`。 - **密码**:这里需要注意,某些服务商(如 Google Mail 或阿里云)要求提供授权码而非实际账户密码。请确保正确获取并填写该授权码[^2]。 ##### (3)测试邮件发送 完成上述字段填充后,点击下方的“发送测试邮件”按钮,向特定收件人发出一封试验性质的消息以检验整个流程是否顺畅运作。 --- #### 3. 解决常见错误 尽管按照指南操作,仍可能出现一些典型障碍,下面列举了几种及其对应的解决办法: - **错误代码 550**: 表明用户权限不足。“User has no permission”的提示意味着当前尝试登陆的账号缺乏必要的许可权去执行这项任务。检查是否有误用其他非关联帐户作为发信者的情况发生,并修正之。 - **错误代码 535**: 认证失败 (Error: authentication failed) 可能是因为提供了错误或者过期的凭证数据所致。特别强调对于像 Gmail 这样的平台来说,“password”栏位应该填入专门生成的应用程序专用密钥而不是常规登录密码。 --- ```python # 示例 Python 脚本用于演示如何通过 smtplib 测试 SMTP 设置 import smtplib from email.mime.text import MIMEText def send_test_email(smtp_server, port, username, password, recipient): try: server = smtplib.SMTP_SSL(smtp_server, port) if int(port) == 465 else smtplib.SMTP(smtp_server, port) server.ehlo() server.starttls() # 如果不是SSL端口才需要这一句 server.login(username, password) msg = MIMEText('This is a test message.') msg['Subject'] = 'Test Email from Script' msg['From'] = username msg['To'] = recipient server.send_message(msg) print("Email sent successfully!") except Exception as e: print(f"Failed to send email: {e}") finally: server.quit() # 替换以下变量为您自己的信息 send_test_email( smtp_server="smtp.example.com", port=465, username="user@example.com", password="your_app_specific_password_or_token", recipient="recipient@example.com" ) ``` --- #### 总结 以上介绍了如何在 PrestaShop 上配置企业邮箱并通过 SMTP 实现自动邮件通知的过程。务必注意不同供应商之间存在的细微差异以及潜在陷阱——尤其是涉及安全性较高的现代在线服务平台时更是如此。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值