Languages
[Edit]
PL

Java - jak wys┼éa─ç e-mail przy u┼╝yciu SMTP z poczt─ů w nazwa.pl?

5 points
Created by:
Kate_C
19790

W tym artykule postaram si─Ö przedstawi─ç rozwi─ůzanie pozwalaj─ůce wysy┼éa─ç maile przy uzyciu protoko┼éu┬áSMTP┬áz┬áJavaMail API oraz wykupionej us┼éugi e-mail w nazwa.pl┬á- rozwi─ůzanie w jezyku Java.

Domy┼Ťlnie obs┼éuga po┼é─ůcze┼ä SMTP powinna┬áby─ç w┼é─ůczona┬ápo stronie serwera.

1. Odczytanie konfiguracji

Po wej┼Ťciu do us┼éugi Active.admin powinni┼Ťmy odnale┼║─ç konfugyracj─Ö dla naszego konta e-mail:

Active.admin dla konta e-mail - Przykład Java SMTP
Active.admin dla konta e-mail - Przykład Java SMTP

2. Utworzenie projektu i załaczenie biblioteki

Bilioteka znajduje się tutaj.

Mo┼╝na j─ů za┼é─ůczy─ç do projektu:

  • manualnie pobieraj─ůc i dodaj─ůc plik *.jar,
  • wklejaj─ůc kod┬ádo pliku *.pom.

3. Uruchomienie kodu Java 

Uwagi: rozwi─ůzanie testowano┬á01.05.2020.

Znaj─ůc konfiguracj─Ö mo┼╝emy przekopiowa─ç┬ákod i nanie┼Ť─ç drobne modyfikacje:

import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import java.util.Properties;

public class MailSender {

    // konfuguracja smtp dla naszego maila

    private static final String smtpDebug = "false";
    private static final String smtpEmail = "my-email@my-domain.com";    // ustawi─ç
    private static final String smtpUsername = "my-email@my-domain.com"; // ustawi─ç
    private static final String smtpPassword = "place-for-my-password";  // ustawi─ç
    private static final String smtpHost = "serverXYZXYZ.nazwa.pl";      // ustawi─ç
    private static final String smtpPort = "465";
    private static final String smtpAuth = "true";
    private static final String smtpSecurity = "ssl";

    // funkcja wysy┼éaj─ůca

    public static void main(String[] args) throws MessagingException {

        String recipientEmail = "my-friend@some-domain.com"; // ustawi─ç odbiorc─Ö
        String emailSubject = "Wiadamo┼Ť─ç z wakacji!";        // ustawi─ç tytu┼é
        String emailBody = "Cze┼Ť─ç!, Jak si─Ö masz! ...";      // ustawi─ç tre┼Ť─ç
        
        // logika wysy┼éaj─ůca
        
        Properties smtpProperties = new Properties();

        smtpProperties.put("mail.debug", smtpDebug);
        smtpProperties.put("mail.smtp.auth", smtpAuth);
        smtpProperties.put("mail.smtp." + smtpSecurity + ".enable", true);
        smtpProperties.put("mail.smtp.host", smtpHost);
        smtpProperties.put("mail.smtp.port", smtpPort);

        Authenticator authenticator = new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(smtpUsername, smtpPassword);
            }
        };

        Session session = Session.getInstance(smtpProperties, authenticator);

        InternetAddress[] replyAddresses = InternetAddress.parse(smtpEmail);
        InternetAddress[] recipientAddresses = InternetAddress.parse(recipientEmail);

        Message message = new MimeMessage(session);

        message.addFrom(replyAddresses);
        message.setRecipients(Message.RecipientType.TO, recipientAddresses);
        message.setReplyTo(replyAddresses);
        message.setSubject(emailSubject);

        Multipart multipart = new MimeMultipart();
        MimeBodyPart part = new MimeBodyPart();

        // typ wiadomo┼Ťci mo┼╝e zosta─ç zmieniony na text/html
        part.addHeader("Content-Type", "text/plain; charset=UTF-8");
        part.setText(emailBody);

        multipart.addBodyPart(part);
        message.setContent(multipart);

        Transport.send(message);
    }
}

 

Native Advertising
50 000 ad impressions - 449$
­čÜÇ
Get your tech brand or product in front of software developers.
For more information contact us:
Red dot
Dirask - friendly IT community for everyone.

ÔŁĄ´ŞĆ­čĺ╗ ­čÖé

Join