1
I have a class that sends email, only it’s not sending with the accented characters.
Send class
public boolean send() throws Exception {
Properties props = _setProperties();
if (!_user.equals("") && !_pass.equals("") && _to.length > 0 && !_from.equals("") && !_subject.equals("") && !_body.equals("")) {
Session session = Session.getInstance(props, this);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(_from));
InternetAddress[] addressTo = new InternetAddress[_to.length];
for (int i = 0; i < _to.length; i++) {
addressTo[i] = new InternetAddress(_to[i]);
}
msg.setRecipients(MimeMessage.RecipientType.TO, addressTo);
//se tem de enviar cópia oculta para alguém
if (_cco != null && _cco.length > 0) {
InternetAddress[] addressCco = new InternetAddress[_cco.length];
for (int i = 0; i < _cco.length; i++) {
addressCco[i] = new InternetAddress(_cco[i]);
}
msg.addRecipients(Message.RecipientType.BCC, addressCco);
}
msg.setSubject(_subject);
msg.setSentDate(new Date());
// corpo da mensagem
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText(_body);
if (_isHtmlBody) {
messageBodyPart.setHeader("charset", "utf-8");
messageBodyPart.setHeader("content-type", "text/html");
}
_multipart.addBodyPart(messageBodyPart);
msg.setContent(_multipart);
// envia o email
Transport.send(msg);
return true;
} else {
return false;
}
}
E aqui é minha classe `enviarEmail` onde passo os dados
private void enviarEmail() {
final String email = txtEmail;
final String subject = "Expresso1002 - Mobile";
if (rbVia1.isChecked())
vVia = "1ª Via";
if (rbVia2.isChecked())
vVia = "2ª Via";
final String nome = txtNomeCompleto.getText().toString();
final String cpf = txtCpf.getText().toString();
final String rg = txtRg.getText().toString();
final String orgaoExpedidor = txtRg.getText().toString();
final String endereco = txtEndereco.getText().toString();
final String numero = txtNumero.getText().toString();
final String bairro = txtBairro.getText().toString();
final String cidade = txtCidade.getText().toString();
final String cep = txtCep.getText().toString();
final String telefone1 = txtTelefone1.getText().toString();
final String telefone2 = txtTelefone2.getText().toString();
final String emailRementente = txtEmailRemetente.getText().toString();
final String body = "Via Selecionada: " + vVia + "</br></p>" +
"Nome Completo: " + nome + "</br></p>" +
"CPF: " + cpf + "</br></p>" +
"RG: " + rg + "</br></p>" +
"Orgão Expedidor: " + orgaoExpedidor + "</br></p>" +
"Endereço Completo: " + endereco + "</br></p>" +
"Nº: " + numero + "</br></p>" +
"Bairro: " + bairro + "</br></p>" +
"Cidade: " + cidade + "</br></p>" +
"CEP: " + cep + "</br></p>" +
"Telefone1: " + telefone1 + "</br></p>" +
"Telefone2: " + telefone2 + "</br></p>" +
"E-mail: " + emailRementente + "</br></p>";
if (!isOnline()) {
progresso.hide();
//Toast.makeText(getContext(), "Não foi possível enviar e-mail, favor conectar a Internet!", Toast.LENGTH_LONG).show();
LayoutInflater layoutInflater = (LayoutInflater) getActivity().getSystemService(LAYOUT_INFLATER_SERVICE);
View customToast = layoutInflater.inflate(R.layout.toast_faleconosco_error, null);
Toast toast = new Toast(getContext());
toast.setDuration(Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.setView(customToast);
toast.show();
//System.exit(0);
} else {
new Thread(new Runnable() {
@Override
public void run() {
Mail m = new Mail();
String[] toArr = {email};
m.setTo(toArr);
//m.setFrom("[email protected]"); //caso queira enviar em nome de outro
m.setSubject(subject);
m.setBody(body);
try {
//m.addAttachment("pathDoAnexo");//anexo opcional
m.send();
} catch (RuntimeException rex) {
}//erro ignorado
catch (Exception e) {
e.printStackTrace();
//System.exit(0);
}
getActivity().runOnUiThread(new Runnable() {
public void run() {
progresso.hide();
LayoutInflater layoutInflater = (LayoutInflater) getActivity().getSystemService(LAYOUT_INFLATER_SERVICE);
View customToast = layoutInflater.inflate(R.layout.toast_faleconosco_sucesso, null);
Toast toast = new Toast(getContext());
toast.setDuration(Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.setView(customToast);
toast.show();
getActivity().getFragmentManager().popBackStack();
}
});
}
}).start();
}
}
It’s coming in my e-mail like this:
Via Selecionada: 1ª Via
Nome Completo:
CPF:
RG:
Orgão Expedidor:
Endereco Completo:
Nº:
Bairro:
Cidade:
CEP:
Telefone1:
Telefone2:
E-mail:
How to solve this.
Blz, it worked out.
– Ari Melo