tra-loi-cau-hoi-phat-trien-web.com

PHP Trình gửi thư Swift: Không thể xác thực trên SMTP bằng 2 trình xác thực có thể

Khi tôi gửi email với PHP Swift mailer đến máy chủ này: smtp.exchange.example.com như thế này:

// Load transport
$this->transport =
    Swift_SmtpTransport::newInstance(
       self::$config->hostname,
       self::$config->port
    )
    ->setUsername(self::$config->username)
    ->setPassword(self::$config->password)
    ;

// Load mailer
$this->mailer = Swift_Mailer::newInstance($this->transport);

// Initialize message
$this->message = Swift_Message::newInstance();

// From
$this->message->setFrom(self::$config->from);

// Set message etc. ...

// Send
$this->mailer->send($this->message);

Tôi nhận được một lỗi lạ trở lại:

Không thể xác thực trên máy chủ SMTP với tên người dùng "[email protected]" bằng cách sử dụng 2 trình xác thực có thể

Tôi biết chắc chắn rằng thông tin đăng nhập là chính xác.

23
VDVLeon

Điều này có thể cũ nhưng ai đó có thể nhận được sự giúp đỡ thông qua điều này. Tôi cũng gặp phải vấn đề tương tự và nhận được một thư trên tài khoản gmail của tôi nói rằng ai đó đang cố hack tài khoản của bạn thông qua một ứng dụng email hoặc một trang web khác . Tôi đã tìm kiếm và thấy rằng việc làm dưới đây sẽ giải quyết vấn đề này.

Truy cập https://accounts.google.com/UnlockCaptcha Và mở khóa tài khoản của bạn để truy cập thông qua các phương tiện/trang web khác.

CẬP NHẬT: 2015

Ngoài ra, bạn có thể thử điều này, Truy cập https://myaccount.google.com/security#connectedapps Ở phía dưới, về phía bên phải, có một tùy chọn "Cho phép ứng dụng kém an toàn hơn". Nếu là "TẮT", hãy bật nó lên bằng cách trượt nút.

30
roneo

Tôi gặp vấn đề tương tự, vì vậy tôi đã vô hiệu hóa một cài đặt trên thông tin đăng nhập gốc WHM của mình, như sau:

WHM> Trang chủ> Cấu hình máy chủ> Cài đặt tinh chỉnh> Hạn chế gửi đi SMTP đến root, exim và người đưa thư (FKA SMTP Tweak) [?]

8
Mint

Tôi thực sự có cùng một vấn đề, cuối cùng, tôi đã giải quyết nó.

nó không giống như vấn đề của Swift Mail. Đó là vấn đề của trình phân tích Yaml . Nếu mật khẩu của bạn chỉ có các chữ số, mật khẩu senmd cho Swift cuối cùng không giống nhau.

swiftmailer:
    transport:  smtp
    encryption: ssl
    auth_mode:  login
    Host:       smtp.gmail.com
    username:   your_username
    password:   61548921

bạn cần sửa nó với dấu ngoặc kép mật khẩu: "61536121"

6
user777161

Tôi vừa nhận được lỗi tương tự. 

Điều kỳ lạ là nhận xét các dòng thông tin 

// ->setUsername(self::$config->username)
// ->setPassword(self::$config->password)

Và vấn đề biến mất. 

Tôi bối rối vì máy chủ thư chắc chắn cần những thông tin đó.

4
Sydwell

Tôi đã thử hầu hết tất cả các đề xuất có thể đề cập ở đây nhưng vấn đề đối với tôi đã được giải quyết sau khi thay đổi "Truy cập ứng dụng kém an toàn" thành ENABLE trong tab cài đặt bảo mật tài khoản Google của tôi. Hy vọng điều này có thể hữu ích cho những người khác! 

2
user3857499

Máy chủ có thể yêu cầu một số loại mã hóa và xác thực an toàn.
xem http://swiftmailer.org/docs/seinating.html#encrypted-smtp

2
VolkerK

hãy thử đặt tên người dùng trong trích dẫn kép "tên người dùng", bằng cách nào đó đã sửa cho tôi.

1
Ardian C.

Bạn có thể sử dụng tên người dùng sai.

Tôi đã có một lỗi tương tự. Đảm bảo bạn không sử dụng chữ hoa trong khi đăng nhập vào máy chủ.

Ví dụ: [email protected]

Nếu bạn sử dụng ->setUsername('JacekPL'), điều này có thể gây ra lỗi. Sử dụng ->setUsername('jacekpl') thay thế. Điều này đã giải quyết vấn đề của tôi.

0
Marek D.

Tôi đã đối mặt với cùng một vấn đề và giải quyết nó. Hãy thử đăng nhập thủ công vào tài khoản gmail của bạn trước . Vấn đề này là do google đã phát hiện tài khoản gmail của bạn đã bị lạm dụng. Ví dụ: gửi rất nhiều email trong một khoảng thời gian ngắn.

0
Toby D

Trước tiên hãy kiểm tra xem có bất kỳ vấn đề kết nối nào không và bạn có thể truy cập máy chủ SMTP:

Trong loại thiết bị đầu cuối:

telnet servername portnumber 

Nếu bạn nhận được phản hồi 220, bạn có thể truy cập máy chủ SMTP và không có vấn đề kết nối nào nhưng nếu kết nối đến máy chủ không thành công, hãy xem có gì sai trong mạng của bạn.

Nếu máy chủ cần xác thực, hãy thử xác thực trên máy chủ bằng tên người dùng và mật khẩu và xem có vấn đề gì không.

Cuối cùng, xem máy chủ có yêu cầu mã hóa không và nếu có openssl và các công cụ khác được cấu hình đúng.

0
pouya

Nếu bạn đang cố gắng gửi thư từ môi trường địa phương của bạn, vd. XAMPP hoặc WAMP, lỗi này sẽ xảy ra mọi lúc, hãy tiếp tục và thử cùng một mã trên lưu trữ web của bạn hoặc bất cứ điều gì bạn đang sử dụng để sản xuất. 

Ngoài ra, xác thực 2 bước từ google có thể là vấn đề.

0

Tôi đã nhận được cùng một lỗi.

Tôi đã sử dụng tài khoản gmail và máy chủ SMTP của Google để gửi email. Vấn đề là do máy chủ SMTP từ chối ủy quyền vì nó coi Máy chủ web của tôi (thông qua người tôi đã gửi email) là một kẻ xâm nhập.

Tôi đã theo quy trình của Google để xác định Máy chủ web của mình là một thực thể hợp lệ để gửi email thông qua tài khoản của tôi và vấn đề đã được giải quyết.

0
Suraj