1. まず、jar パッケージをプロジェクトにインポートする必要があります: mail-1.4.4.jar (他のメールボックスを送信するために qq と 163 個のメールボックスを実装するため)
2. コードは次のとおりです。以下の通り Show
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 を変更する必要があります
QQはsmtpです。 qq.com, 163 is smtp.163.com
(4) 一般的なエラーの種類は次のとおりです: 最も一般的なものは 550 DT:SPM と 535 (535 は送信メール側にとって間違った情報です。認証コードの有効期限が切れているか、ユーザー名が間違って書かれている可能性があります)
•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 は 1 つ以上の RBL にあります。 RBL に関する関連情報については、http://www.rbls.org/ を参照してください。
•450 WM:BLI この IP は NetEase によって許可されている送信アドレスのリストに含まれていません。
•450 WM:BLU このユーザーは含まれていません。 NetEase によって許可された送信ユーザー リスト内;
•451 DT:SPM、メール本文にスパムの特徴が含まれているか、送信環境が標準化されていないため、一時的に拒否されます。電子メールのキューを保持し、2 分後に電子メールを再送信してください。メールの内容を調整するか、送信環境を最適化する必要があります。
•451 要求されたメール アクションが実行されませんでした: 認証に失敗しすぎました ログインが何度も失敗したため、一時的にログインが禁止されました。パスワードとアカウント認証の設定を確認してください。
•451 RP:CEL 送信者にエラー指示が多すぎます。送信プログラムを確認してください;
•451 MI:DMC 現在の接続で送信されるメールの数が制限を超えています。各接続で配信される電子メールの数を制御してください。
•451 MI:SFQ 15 分以内に送信者によって送信された電子メールの数が制限を超えています。電子メールの送信頻度を制御してください。
•451 RP:QRC の累積数送信者が短期間に送信したメール 送信者数が制限を超えたため、送信者は一時的にレターの送信を禁止されます。このユーザーがメッセージを送信する頻度を減らしてください。
•451 要求されたアクションが中止されました: 処理中のローカル エラーです。システムに一時的な障害があるため、後でもう一度送信してください。
• 500 エラー: 構文が正しくありません。送信された 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 グループ送信の受信者の数が制限を超えています。それぞれの受信者の数を減らしてください。 email;
• 550 RP:TRC 送信者がその日のうちに累計した受信者数が制限を超えたため、送信者のメールはその日は受け付けられなくなります。このユーザーが送信するメールの頻度を減らしてください。
•550 DT:SPM メールの本文に多くのスパムの特徴が含まれているか、送信環境が標準化されていません。メールの内容を調整するか、送信環境を最適化する必要があります。
?550 無効なユーザー 要求されたユーザーは存在しません。
?550 ユーザーは NetEase ユーザーにレターを送信できません。要求されたユーザーは無効または凍結されています ;
•550 要求されたメール アクションは実行されません: 受信者が多すぎます グループ メッセージの数が制限を超えています
•552 不正な添付ファイル .uu .pif を含む、この種類の添付ファイルは送信できません。 scr .mim .hqx .bhx .cmd .vbs .bat で終わる添付ファイル .com .vbe .vb .js .wsh など
•552 要求されたメール操作が中止されました: メールサイズ制限を超えました 送信されたレターのサイズが最大値を超えました。 NetEase メールボックスで受信できる制限です。
•553 要求されたアクションは実行されません: NULL の送信者は許可されません。送信者を空にすることはできません。送信には実際の送信者を使用してください。
• 553 要求されたアクションは実行されません。 SMTP タイプのマシンは、送信者がこのサイトのユーザーであることのみを許可します。
• 553 要求されたアクションは実行されません: smtp MX のみ MX タイプのマシンは、送信者がこのサイトのユーザーであることを許可しません
• 553 認証が必要です。認証が必要です。クライアント設定を確認してください
•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 in blacklist この IP は、NetEase によって許可されている送信アドレスのリストに含まれていません。