Java 메일 전송, qq와 163 메일박스는 서로 보내고, qq와 163 메일박스는 다른 메일박스 인스턴스를 보냅니다.
1. 먼저 프로젝트에 jar 패키지를 가져옵니다. mail-1.4.4.jar(다른 메일박스를 보내기 위해 qq 및 163 메일박스 구현(이 경우에는 한 가지 유형만 보여줍니다))
2. 코드는 다음과 같습니다
public class TestDemo1 { static String SSL_EMAIL = "javax.net.ssl.SSLSocketFactory"; //需要传的值都在main方法调用的sendmail里传! public static void main(String[] args) { String s = sendmail(username, pass, from, to, subject, content); System.out.println(s); } /** * * @param username 发件人邮件的用户名 * @param pass 发件人邮件的密码(此密码一定要是授权码 授权码:在发件人邮箱内开启smtp/pop3协议所获得的授权码) * @param from 发件人邮箱 * @param to 收件人邮箱 * @param subject 邮件标题 * @param content 邮件内容 * @return */ public static String sendmail(final String username, final String pass, String from, String to, String subject, String content) { //Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); //设置系统参数 Properties props = System.getProperties(); props.setProperty("mail.smtp.socketFactory.class", SSL_EMAIL); props.setProperty("mail.smtp.socketFactory.fallback", "true"); props.setProperty("mail.store.protocol", "smtp"); props.setProperty("mail.smtp.host", "smtp.qq.com"); //props.setProperty("mail.smtp.port", "465"); props.setProperty("mail.smtp.socketFactory.port", "465"); props.put("mail.smtp.auth", "true"); //创建邮件会话 Session session = Session.getInstance(props, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, pass); } }); //创建邮件信息 Message msg = new MimeMessage(session); try { msg.setFrom(new InternetAddress(username)); msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false)); msg.setSubject(subject); msg.setText(content); msg.setSentDate(new Date()); Transport.send(msg); return "1"; } catch (MessagingException e) { return e.getMessage(); } } }
3. 이메일을 보낼 때 다음 사항을 기억하세요.
(1) 이메일을 보내는 당사자는 smtp/pop3 프로토콜을 활성화해야 합니다!
(2) 이메일을 보내는 당사자는 활성화 후 인증 코드를 비밀번호로 사용하여 설정해야합니다!
(3) 보내는 사람의 이메일 유형을 변경할 때(예: 처음에 XXX@qq.com을 사용하다가 XXX@163.com으로 변경한 경우), mail.smtp.host를 변경해야 합니다 이메일 발신자 정보가 잘못 기재되었습니다. 인증번호가 만료되었거나 사용자 이름이 잘못 기재되었을 수 있습니다.)
•421 HL:REP 이 IP의 전송 동작이 비정상적이고, 존재하지 않는 수신자가 다수 있어 일시적으로 연결이 금지됩니다. 바이러스나 스팸을 보내는 사용자가 있는지 확인하고 발송 목록의 유효성을 확인하세요.
•421 HL:ICC 이 IP의 동시 연결 수가 너무 많아 NetEase의 한도를 초과하여 연결이 일시적으로 중단되었습니다. 금지. 바이러스나 스팸을 보내는 사용자가 있는지 확인하고 동시 IP 연결 수를 줄이십시오.
•421 HL:IFC 이 IP는 짧은 시간에 NetEase의 한도를 초과하여 많은 양의 편지를 보냈습니다. 일시적으로 접속이 금지되었습니다. 바이러스나 스팸을 보내는 사용자가 있는지 확인하고 전송 빈도를 줄이십시오.
•421 HL:MEP 이 IP의 전송 동작이 비정상적이며, 위조된 전송 도메인 이름이 많고 연결이 없습니다. 일시적으로 금지됩니다. 바이러스 또는 스팸 이메일을 보내는 사용자가 있는지 확인하고 실제적이고 유효한 도메인 이름을 사용하여 보내십시오.
•450 MI:CEL 보낸 사람에게 오류 지침이 너무 많습니다. 전송 프로그램을 확인하세요.
•450 MI: 현재 연결에서 DMC가 보낸 이메일 수가 한도를 초과했습니다. 각 연결에서 전달되는 이메일 수를 줄여주세요.
•450 MI:CCL 보낸 사람이 너무 많은 지침을 보냈습니다. 전송 프로그램을 확인하세요.
•450 RP:DRC 현재 연결에서 전송한 수신자 수가 한도를 초과했습니다. 연결당 전달되는 이메일 수를 조절하세요.
•450 RP:CCL 보낸 사람이 너무 많은 지침을 보냈습니다. 전송 절차를 확인하세요.
•450 DT:RBL 전송 IP는 하나 이상의 RBL에 있습니다. RBL 관련 정보는 http://www.rbls.org/를 참조하세요.
•450 WM:BLI 이 IP는 NetEase에서 허용하는 전송 주소 목록에 없습니다.
•450 WM:BLU This NetEase에서 허용하지 않는 사용자입니다.
•451 DT:SPM, 이메일 본문에 스팸 특성이 있거나 전송 환경이 표준화되어 있지 않아 일시적으로 거부됩니다. 이메일 대기열을 유지한 후 2분 후에 이메일을 다시 보내주세요. 이메일 내용을 조정하거나 전송 환경을 최적화해야 합니다.
•451 요청한 메일 조치가 수행되지 않음: 인증 실패 횟수가 너무 많음 로그인이 너무 많이 실패하여 일시적으로 로그인이 금지되었습니다. 비밀번호 및 계정 확인 설정을 확인하세요.
•451 RP:CEL 보낸 사람에게 오류 명령이 너무 많습니다. 전송 프로그램을 확인하세요.
•451 MI: 현재 연결에서 DMC가 보낸 이메일 수가 한도를 초과했습니다. 각 연결에서 전달되는 이메일 수를 조절하세요.
•451 MI:SFQ 발신자가 15분 이내에 보낸 이메일 수가 한도를 초과했습니다. 이메일 전송 빈도를 조절하세요.
•451 RP:QRC 보낸 사람이 단기입니다. 누적 받는 사람 수가 한도를 초과하여 보낸 사람의 메시지 전송이 일시적으로 금지됩니다. 이 사용자의 메시지 전송 빈도를 줄여주세요.
•451 요청된 작업이 중단되었습니다: 처리 중 로컬 오류가 발생했습니다. 시스템에 일시적인 오류가 있습니다. 나중에 다시 전송해 보세요.
•500 오류: 잘못된 구문U smtp 구문입니다. 보낸 명령이 잘못되었습니다.
•550 MI:NHD HELO 명령은 비워 둘 수 없습니다.
•550 MI:IMF 보낸 사람의 이메일 주소가 잘못되었습니다. 이메일 사양 정의는 http://www.rfc-editor.org/를 참조하세요.
•550 MI: SPF 발신 IP가 발신 도메인의 SPF에 의해 승인되지 않았습니다. SPF 사양 정의는 http://www.openspf.org/를 참조하세요.
•550 MI:DMA 이 이메일은 발신 도메인의 DMARC에서 승인하지 않았습니다. DMARC 사양 정의는 http://dmarc.org/를 참조하세요.
•550 MI:STC 해당 날짜에 보낸 사람의 연결 수가 한도를 초과하여 해당 날짜에 보낸 사람의 이메일이 더 이상 허용되지 않습니다. 연결 수를 조절하세요.
•550 RP:FRL NetEase 사서함은 익명 전달(오픈 릴레이)을 허용하지 않습니다.
•550 RP:RCL 대량 전송 수신자 수가 한도를 초과했습니다. 숫자를 줄여주세요. 각 이메일당 수신자 수 수량;
•550 RP:TRC 보낸 사람의 일일 누적 수신자 수가 한도를 초과하여 해당 날짜에는 보낸 사람의 이메일이 더 이상 허용되지 않습니다. 이 사용자가 보내는 이메일의 빈도를 줄여주세요.
•550 DT:SPM 이메일 본문에 스팸 특성이 많거나 전송 환경이 표준화되어 있지 않습니다. 이메일 내용을 조정하거나 전송 환경을 최적화해야 합니다.
•550 잘못된 사용자 요청한 사용자가 존재하지 않습니다.
•550 블랙리스트에 있는 사용자 이 사용자는 NetEase 사용자에게 편지를 보낼 수 없습니다.
•550 사용자가 정지되었습니다. 요청한 사용자가 비활성화되었거나 정지되었습니다.
•550 요청한 메일 작업이 수행되지 않았습니다. 수신자가 너무 많습니다. 그룹 메시지 수가 한도를 초과했습니다.
•552 불법 첨부 파일 유형입니다. .uu .pif .scr .mim .hqx .bhx .cmd .vbs .bat .com .vbe .vb .js .wsh 등으로 끝나는 첨부 파일을 포함하여 전송이 허용되지 않습니다.
•552 요청된 메일 작업 중단됨: 메일 크기 제한 초과 보낸 편지의 크기가 NetEase 사서함에서 허용하는 제한을 초과했습니다.
•553 요청한 작업이 수행되지 않았습니다. NULL 보낸 사람은 허용되지 않습니다. 보낸 사람은 비어 있을 수 없습니다. 실제 메시지를 사용하십시오.
•553 요청된 작업이 수행되지 않음: 로컬 사용자만 SMTP 유형 시스템은 발신자가 이 사이트의 사용자가 되도록 허용합니다.
•553 요청된 작업이 수행되지 않음: no smtp MX 전용 MX 유형 시스템 발신자를 이 사이트의 사용자로 허용하지 마십시오.
•553 인증이 필요합니다. SMTP 인증이 필요합니다. 클라이언트 설정을 확인하세요.
•554 DT: SPM에서 보낸 이메일의 내용에 승인되지 않은 정보가 포함되어 있거나 시스템에서 스팸으로 인식됩니다. 바이러스나 스팸을 보내는 사용자가 있는지 확인하세요.
•554 DT:SUM 봉투 발송인과 레터헤드 발송인이 일치하지 않습니다.
•554 IP가 거부되었습니다. smtp 인증 오류 제한이 IP 확인 시도 실패 횟수를 초과했습니다. 다수를 초과하여 일시적으로 연결이 금지됩니다. 인증정보 설정을 확인해 주세요.
•554 HL:IHU 스팸발송 또는 비정상적인 연결 동작으로 인해 발신IP가 일시적으로 중단되었습니다. 전송 IP의 전송 상태 기록과 전송 프로그램에 이상이 있는지 확인하세요.
•554 HL:IPB 이 IP는 NetEase의 전송 허용 주소 목록에 없습니다.
•554 MI:STC 발신자 하루 누적 이메일 수가 한도를 초과하며, 해당 발신인이 보낸 편지는 해당 날짜에 더 이상 수신되지 않습니다. 이메일 전송 빈도를 줄여주세요.
•554 MI:SPB 이 사용자는 NetEase에서 이메일을 보내도록 허용한 사용자 목록에 없습니다.
•554 블랙리스트에 있는 IP 이 IP는 전송 주소 목록에 없습니다. NetEase에서 허용합니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java의 Weka 가이드. 여기에서는 소개, weka java 사용 방법, 플랫폼 유형 및 장점을 예제와 함께 설명합니다.

Java의 Smith Number 가이드. 여기서는 정의, Java에서 스미스 번호를 확인하는 방법에 대해 논의합니다. 코드 구현의 예.

이 기사에서는 가장 많이 묻는 Java Spring 면접 질문과 자세한 답변을 보관했습니다. 그래야 면접에 합격할 수 있습니다.

Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다. 기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다. 추가 읽기 : Java Stream API 개선 스트림 foreach를 이해하십시오 Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다

Java의 TimeStamp to Date 안내. 여기서는 소개와 예제와 함께 Java에서 타임스탬프를 날짜로 변환하는 방법에 대해서도 설명합니다.

캡슐은 3 차원 기하학적 그림이며, 양쪽 끝에 실린더와 반구로 구성됩니다. 캡슐의 부피는 실린더의 부피와 양쪽 끝에 반구의 부피를 첨가하여 계산할 수 있습니다. 이 튜토리얼은 다른 방법을 사용하여 Java에서 주어진 캡슐의 부피를 계산하는 방법에 대해 논의합니다. 캡슐 볼륨 공식 캡슐 볼륨에 대한 공식은 다음과 같습니다. 캡슐 부피 = 원통형 볼륨 2 반구 볼륨 안에, R : 반구의 반경. H : 실린더의 높이 (반구 제외). 예 1 입력하다 반경 = 5 단위 높이 = 10 단위 산출 볼륨 = 1570.8 입방 단위 설명하다 공식을 사용하여 볼륨 계산 : 부피 = π × r2 × h (4

Java는 초보자와 숙련된 개발자 모두가 배울 수 있는 인기 있는 프로그래밍 언어입니다. 이 튜토리얼은 기본 개념부터 시작하여 고급 주제를 통해 진행됩니다. Java Development Kit를 설치한 후 간단한 "Hello, World!" 프로그램을 작성하여 프로그래밍을 연습할 수 있습니다. 코드를 이해한 후 명령 프롬프트를 사용하여 프로그램을 컴파일하고 실행하면 "Hello, World!"가 콘솔에 출력됩니다. Java를 배우면 프로그래밍 여정이 시작되고, 숙달이 깊어짐에 따라 더 복잡한 애플리케이션을 만들 수 있습니다.
