JavaMail

3 отговора 145 прегледа
#1

JavaMail

Някой знае ли как може да се изпращат писма, в които има Cp1251 (Windows-1251) символи чрез JavaMail? С програмата по-долу писмата се получават, но кирилските символи излизат като въпросителни.
Благодаря предварително.

import java.util.Properties;

import javax.mail.Session;
import javax.mail.Message;
import javax.mail.Transport;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.InternetAddress;

public class MailTest
{
static final String ENCODING = "Windows-1251";
static final String FROM = "xxx@poshta.com";
static final String TO = "xxx@poshta.com";

public static void main(String args[]) throws Exception
{
Properties mailProps = new Properties();
mailProps.put("mail.transport.protocol","smtp");

mailProps.put("mail.smtp.host","smtp.poshta.com");

Session session = Session.getDefaultInstance(mailProps);

MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(FROM));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(TO));

message.setSubject("Събджект, т.е. ТЕМА",ENCODING);
message.setText("Съдържание на писмото",ENCODING);

Transport.send(message);
}
}

Отговор
в отговор на Johny Bravo #2

Re: JavaMail

Edna ot prichinite poradi koiato ne se poluchava e che editor-a kojto polzvash da pishesh programata e nastroen da zapisva failovete v drug encoding (Cp1252 default za Eclipse naprimer). Ako polzvash IDE, kompilatora chete faila ot diska i slaga greshnia string v class-a vypreki che za momenta v editora vsichko izglezhda nared. Tova mozhesh lesno da go proverish kato zapishesh, zatvorish i otvorish fail-a. Ako vse oshte vizhdash pravilnia string znachi vsichko e nared.
Kogato nastroia Eclipse editora da raboti s utf8 encoding (mozhe i da ne e naj-pravilnia izbor) tazi programa raboti pravilno.

Отговор
в отговор на antijb #3

Re: JavaMail

Пиша с UltraEdit.
След като затворя файла и го отворя наново всички символи са си както трябва да бъдат.

Отговор
в отговор на Johny Bravo #4

Re: JavaMail

Za editora da no ne i za kompilatora. Tova s otvarianeti i zatvarianeto se vizhda pod Eclipse. Predpolagam che i UltraEdit ima nastrojka za encoding-a na failovete.

Отговор