[SMTP] Lý do phát sinh exception khi gửi mail (SMTPSendFailedException / javax.mail.MessagingExcept)

44 lượt xem

profile picture

Ẩn danh

Ngày 26 tháng 05 năm 2023

Mình làm gửi email cho user bằng email của công ty thì hầu hết email vẫn gửi được bình thường, nhưng thi thoảng lại bị phát sinh exception. Mình cũng xử lý bằng cách gửi lại email được rồi, nhưng mình muốn tìm xem căn bản vấn đề phát sinh do đâu để giải quyết triệt để luôn. Ai biết gợi ý giúp mình với. Cảm ơn mọi người. Exception log 1) com.sun.mail.smtp.SMTPSendFailedException: [EOF] at com.sun.mail.smtp.SMTPTransport.issueSendCommand at com.sun.mail.smtp.SMTPTansprot.finishData at com.sun.mail.smtp.SMTPTransport.sendMessage at javax.mail.TransPort.send0 at javax.mail.TransPort.send Exception log 2) javax.mail.MessagingException: Can’t send command to SMTP host at com.sun.mail.smtp.SMTPTransport.sendCommand at com.sun.mail.smtp.SMTPTransport.sendCommand at com.sun.mail.smtp.SMTPTransport.close at javax.mail.Transport.send0 at javax.mail.Transport.send ----- Mình đang dùng SSL và ở đoạn triển khai bằng service thì giá trị được cài như dưới đây. SMTP_PROT là SSL nên mình dùng 465. props.put("mail.smtp.host", SMTP_HOST); // SMTP Host props.put("mail.smtp.socketFactory.port", SMTP_PORT); // SSL Port props.put("mail.debug", "debug"); props.put("mail.smtp.auth", "true"); // Enabling SMTP Authentication

Đánh giá câu hỏi ngay!

Hãy ấn Up Vote với những câu hỏi cụ thể và chi tiết

Hãy ấn Down Vote với những câu hỏi chưa rõ ràng Careerly sẽ nhắc người hỏi chỉnh sửa lại.

1 câu trả lời

BEST

Ảnh đại diện của Hien Nguyen

Mình không có chuyên về Java nhưng hi vọng câu trả lời của mình có thể giúp bạn phần nào nhé. Đầu tiên thì chỉ nhìn vào error log thì khá khó để xác định được nguyên nhân chính xác của vấn đề. Mình thử tìm thì thấy vấn đề có thể do code của bạn, cũng có thể do cài đặt network. Về cài đặt network thì sau khi đọc bài này (https://community.appian.com/discussions/f/administration/13199/randomly-some-emails-are-not-being-sent-to-the-users-using-send-email-smart-service) thì mình đoán vậy. Mình nghĩ là nếu server gửi email có thể scale out thì SMTP server hoặc cài đặt tường lửa có thể bị mắc, tại mình thấy trong error log của bạn có đoạn không gửi được command ở SMTP host. Còn nếu do code của bạn thì vấn đề do cài đặt hay chứng thực sao đó. Có các yếu tố khác ảnh hưởng nữa nên nhìn log của bạn thôi thì cũng khá khó để mình trả lời chính xác.

Đăng ký ngay bây giờ để đọc toàn bộ câu trả lời!

Cộng đồng lập trình viên sẽ giải đáp tường tận cho bạn.

Xem thêm

Đồng ý với Điều khoản dịch vụ Chính sách bảo mật của Careerly

Bạn đã có tài khoản rồi?

Đăng ký ngay bây giờ để đọc toàn bộ câu trả lời!

Cộng đồng lập trình viên sẽ giải đáp tường tận cho bạn.