JavaMail
3 отговора
145 прегледа
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);
}
}
Благодаря предварително.
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);
}
}
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.
Kogato nastroia Eclipse editora da raboti s utf8 encoding (mozhe i da ne e naj-pravilnia izbor) tazi programa raboti pravilno.
Re: JavaMail
Пиша с UltraEdit.
След като затворя файла и го отворя наново всички символи са си както трябва да бъдат.
След като затворя файла и го отворя наново всички символи са си както трябва да бъдат.
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.