1. مقدمة إلى البريد الإلكتروني
يتكون البريد الإلكتروني من الكثير من المعلومات. المعلومات الرئيسية هي كما يلي: لا يتم أخذ المعلومات الأخرى في الاعتبار في الوقت الحالي، مثل النسخة الكربونية، وما إلى ذلك.
1. المستلم: عنوان البريد الإلكتروني للمستلم، مثل [email protected]
2. اسم المستلم: سيتم عرضه عند عرض معظم رسائل البريد الإلكتروني، مثلloadfate [email protected]
3. المرسل: عنوان البريد الإلكتروني للمرسل
4. اسم المرسل:
5. الموضوع: عنوان البريد الإلكتروني
6. المحتوى والمرفقات: المحتوى الرئيسي للبريد الإلكتروني
2. خطوات عامة لإرسال رسائل البريد الإلكتروني باستخدام جافا
في المشاريع العامة، لا يوجد خادم بريد منفصل، وبشكل عام، يتم استخدام خوادم الآخرين.
1. قم بإعداد خادم SMTP: تحتوي خوادم البريد المختلفة على عناوين مختلفة، على سبيل المثال: يمثل smtp.qq.com خادم SMTP الخاص بشركة Tencent.
2. التفويض: استخدم حساب الخادم وكلمة المرور لتسجيل الدخول إلى الخادم.
3. إنشاء بريد إلكتروني: قم بإنشاء بريد إلكتروني يحتوي على جميع المعلومات، مثل المرسل والمستلم والمحتوى وما إلى ذلك.
4. ضبط خصائص البريد الإلكتروني: إضافة البيانات إلى خصائص البريد الإلكتروني.
5. إرسال رسائل البريد الإلكتروني: نظرًا لاختلاف الطرود، فإن طرق الإرسال غير متناسقة.
3. بريد جافا وبريد أباتشي
يعد Apache Mail عبارة عن تغليف لـ Java Mail، وهو أسهل في الاستخدام ويتمتع بإحساس أفضل بالتسلسل الهرمي المنطقي.
لاستخدام Java Mail، ما عليك سوى استيراد حزمة jar: mail.jar.
عند استخدام Apache Mail، تحتاج إلى استيراد حزمتين من jar: mail.jar وcommons-email-1.3.1.jar.
4. استخدم Java Mail لإرسال رسائل البريد الإلكتروني
انسخ رمز الكود كما يلي:
public static void main(String[] args) يطرح الاستثناء {
مستخدم السلسلة النهائية = "779554589"؛
كلمة مرور السلسلة النهائية = ""؛
سلسلة من العنوان = "[email protected]";
String toAddress = "[email protected]";
سلسلة الموضوع = "موضوع اختبار البريد الإلكتروني"؛
محتوى السلسلة = "هذه رسالة بريد إلكتروني تجريبية<b>هاها</b>";
// معلمات التكوين
خصائص الدعائم = خصائص جديدة ()؛
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host"، "smtp.qq.com");
// الطريقة الأولى: استخدم كائن النقل لإرسال البريد الإلكتروني
{
// إنشاء جلسة من خلال المعلمات
جلسة الجلسة = Session.getInstance(props);
// تمكين وضع التصحيح
session.setDebug(true);
// أنشئ بريدًا إلكترونيًا وقم بتعيين المعلومات
رسالة الرسالة = MimeMessage الجديدة (جلسة)؛
message.setFrom(new InternetAddress(fromAddress));
message.setSubject(subject);
message.setText(content);
//إنشاء نقل
نقل النقل = session.getTransport();
// الاتصال بخادم SMTP
النقل. الاتصال (المستخدم، كلمة المرور)؛
//يرسل
Transport.sendMessage(message, new InternetAddress[] { new InternetAddress(toAddress) });
Transport.Close();
}
// الطريقة الثانية: استخدم الطريقة الثابتة لفئة النقل لإرسال رسائل البريد الإلكتروني
{
// احصل على اتصال معتمد عند إنشاء الجلسة
جلسة الجلسة = Session.getInstance(props, new Authenticator() {
@تجاوز
مصادقة كلمة المرور المحمية getPasswordAuthentication() {
إرجاع مصادقة كلمة المرور الجديدة (المستخدم، كلمة المرور)؛
}
});
session.setDebug(true);
// أنشئ بريدًا إلكترونيًا وقم بتعيين المعلومات
رسالة الرسالة = MimeMessage الجديدة (جلسة)؛
message.setSubject(subject);
message.setFrom(new InternetAddress(fromAddress));
message.setRecipient(RecipientType.TO, new InternetAddress(toAddress));
message.setContent(content, "text/html;charset=utf-8");
// أرسل مباشرة، يتم إنشاء الرسالة من خلال الجلسة المعتمدة
Transport.send(message);
}
}
5. استخدم بريد Apache لإرسال رسائل البريد الإلكتروني
انسخ رمز الكود كما يلي:
الطبقة العامة ApacheMailTest {
// خادم SMTP
اسم مضيف السلسلة الخاصة = "smtp.qq.com";
// الحساب وكلمة المرور
اسم مستخدم السلسلة الخاصة = "779554589";
كلمة مرور السلسلة الخاصة = "هذا سر"؛
// المرسل
سلسلة خاصة من العنوان = "[email protected]";
// اسم المرسل
سلسلة خاصة من الاسم = "loadfate"؛
public static void main(String[] args) يطرح الاستثناء {
// اسم المستلم والمستلم
String toAddress = "[email protected]";
String toName = "loadfate";
اختبار ApacheMailTest = new ApacheMailTest();
// تتم معالجة جميع الاستثناءات لتسهيل التصفح
test.sendSimpleEmail(toAddress, toName);
test.sendHtmlEmail(toAddress, toName);
test.sendMultiPartEmail(toAddress, toName);
System.out.println("اكتمل الإرسال");
}
// أرسل بريدًا إلكترونيًا بسيطًا مشابهًا للرسالة
public void sendSimpleEmail(String toAddress, String toName) يطرح الاستثناء {
SimpleEmail email = new SimpleEmail();
email.setHostName(hostName);//تعيين خادم smtp
email.setAuthentication(اسم المستخدم، كلمة المرور)؛//تعيين معلومات الترخيص
email.setCharset("utf-8");
email.setFrom(fromAddress, fromName, "utf-8");//تعيين معلومات المرسل
email.addTo(toAddress, toName, "utf-8");//تعيين معلومات المستلم
email.setSubject("موضوع الاختبار");// قم بتعيين الموضوع
email.setMsg("هذا اختبار بسيط!");// قم بتعيين محتوى البريد الإلكتروني
email.send();//إرسال البريد الإلكتروني
}
//أرسل بريدًا إلكترونيًا يحتوي على محتوى HTML
public void sendHtmlEmail(String toAddress, String toName) يطرح الاستثناء {
HtmlEmail email = new HtmlEmail();
email.setHostName(hostName);
email.setAuthentication(اسم المستخدم، كلمة المرور)؛
email.setCharset("utf-8");
email.addTo(toAddress, toName, "utf-8");
email.setFrom(fromAddress, fromName, "utf-8");
email.setSubject("هذا بريد إلكتروني بتنسيق html");
// قم بتعيين محتوى html في الاستخدام الفعلي، يمكنك قراءة كود html المكتوب من النص.
email.setHtmlMsg("<div style='width:100px;height:200px;'>a</div>");
email.send();
}
// إرسال رسائل بريد إلكتروني معقدة، بما في ذلك المرفقات، وما إلى ذلك.
public void sendMultiPartEmail(String toAddress, String toName) يطرح الاستثناء {
MultiPartEmail email = null;
البريد الإلكتروني = MultiPartEmail الجديد () ؛
email.setHostName(hostName);
email.setAuthentication(اسم المستخدم، كلمة المرور)؛
email.setCharset("utf-8");
email.addTo(toAddress, toName, "utf-8");
email.setFrom(fromAddress, fromName, "utf-8");
email.setSubject("هذه رسالة بريد إلكتروني تحتوي على مرفقات");
email.setMsg("<a href='#'>اختبار المحتوى</a>");
// أضف محتوى إضافيًا إلى البريد الإلكتروني
مرفق البريد الإلكتروني = مرفق البريد الإلكتروني الجديد ()؛
Attachment.setPath("D://mail.txt");//ملف محلي
// Attach.setURL(new URL("http://xxx/a.gif"));//الملف البعيد
Attachment.setDisposition(EmailAttachment.ATTACHMENT);
Attachment.setDescription("معلومات الوصف");
// قم بتعيين اسم عرض المرفق الذي يجب ترميزه، وإلا فسيتم تشويه اللغة الصينية
Attachment.setName(MimeUtility.encodeText("Mail.txt"));
// أضف مرفقًا إلى البريد الإلكتروني
email.attach(attachment);
email.send();
}
}
6. مجلد المشروع المرفق: maildemo
عنوان التنزيل: http://pan.baidu.com/s/1bn1Y6BX
إذا كان لديك أي أسئلة أو اقتراحات، يرجى الاتصال بي
وصف الملف:
1. maildemo.zip: الكود المصدري لـ maildemo
2. mail.jar: حزمة Jar الخاصة ببريد Java
3. commons-email-1.3.1.jar: حزمة jar لبريد Apache