使用msmtp时出现身份验证错误

时间:2019-04-15 23:19:45

标签: email msmtp

我正在使用msmtp发送电子邮件,但是尽管我的登录凭据正确,却收到了身份验证错误。

我的msmtprc文件包含

#import "AppDelegate.h"

#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>

#import <Firebase.h>
#import "RNFirebaseNotifications.h"
#import "RNFirebaseMessaging.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  [FIRApp configure];
  [RNFirebaseNotifications configure];

  NSURL *jsCodeLocation;

  ...
  return YES;
}

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
  [[RNFirebaseNotifications instance] didReceiveLocalNotification:notification];
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo
fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler{
  [[RNFirebaseNotifications instance] didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];
}

- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings {
  [[RNFirebaseMessaging instance] didRegisterUserNotificationSettings:notificationSettings];
}
@end

在终端上运行此命令

defaults
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt

account default
host smtp.gmail.com
port 25
auth on
user *******@gmail.com
password *********
from **********@gmail.com
logfile /var/log/msmtp.log

我收到以下错误

  

msmtp:身份验证失败(方法简单)
  msmtp:服务器消息:535-5.7.8不接受用户名和密码。进一步了解
  msmtp:服务器消息:535 5.7.8 https://support.google.com/mail/?p=BadCredentials b14sm68898705pfi.92-gsmtp   msmtp:无法发送邮件(默认帐户为/ etc / msmtprc)

2 个答案:

答案 0 :(得分:0)

按照the arch wiki上的指南进行操作,我意识到我没有chmod设置。

我从技术上复制并粘贴了示例中的设置,进行了以下更改:

  • 来自
  • 用户
  • 密码
  • <<删除了免费邮件服务部分>>

一旦我设置了此参数,解决方案就对我有用。

答案 1 :(得分:-1)

我只是遇到了同样的问题。我有一个带有PHP 7.3.14-1的Debian 10 32位,并且/ etc / msmtprc文件具有...

account <myusername>@gmail.com
host smtp.gmail.com
port 587
tls on
tls_starttls on
auth on
user <myusername>
password <plain-password>
from <username>@gmail.com
account default : <username>@gmail.com

此配置使用smtp.gmail.com发送电子邮件没有错误,然后我有了一个GCE(Google Compute Engine),其Debian 10 64bit和PHP 7.3.14-1,具有完全相同的配置文件,但没有工作。 我启用了两步验证方法,并为我的脚本生成了一个16个字符的密码,使用App Password,GCE就可以了。当然,32位计算机不再能够发送电子邮件,但是我的首要任务是GCE计算机。 GCE上的配置文件是...

# Set default values for all following accounts.
defaults
port 587
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt

account gmail
host smtp.gmail.com
from <myusername>@gmail.com
auth on
user <myusername>@gmail.com
password <16 character password from Gmail>

# Set a default account
account default : gmail

可能值得一提的是32位计算机具有gCloud SDK,并且完全能够登录并连接到GCE实例。