| ♥ 0 | Boa tarde. Tenho a seguinte situação: PSO.Mail.Inicializa();
PSO.Mail.CleanBCC();
PSO.Mail.CleanCC();
PSO.Mail.CleanDestinatarios();
PSO.Mail.CleanFicheirosAnexados();
PSO.Mail.AddDestinatario(EmailTo);
if (!string.IsNullOrWhiteSpace(EmailBCC))
{
PSO.Mail.AddBCC(EmailBCC);
}
if (!string.IsNullOrWhiteSpace(EmailCC))
{
PSO.Mail.AddCC(EmailCC);
}
PSO.Mail.AnexaFicheiro(Anexo);
PSO.Mail.UsaPreferenciasUtilizador = false;
PSO.Mail.Format = Platform.UserControls.Email.BodyFormat.Html;
PSO.Mail.MostraJanela = PSO.Utils.FBool(parametros["PreviewEmail"].Valor.ToString());
PSO.Mail.SMTPAtivarSSL = PSO.Utils.FBool(parametros["SSL"].Valor.ToString());
PSO.Mail.SMTPPassword = parametros["PasswordEmail"].Valor.ToString();
PSO.Mail.SMTPServer = parametros["ServidorEmail"].Valor.ToString();
PSO.Mail.SMTPUser = parametros["UtilizadorEmail"].Valor.ToString();
PSO.Mail.EnderecoLocal = parametros["EmailEndereco"].Valor.ToString();
PSO.Mail.EnviaMail( Assunto:Assunto, Mensagem:EmailTexto, MostraJanela: true, useSMTP:true);PS: neste caso uso o PSO.Mail com UsaPreferenciasUtilizador = false de forma a usar credenciais especificas em vez das definidas pelo utilizador. Ao chamar o PSO.Mail.EnviaMail com MostraJanela: true, caso o utilizador modifique o texto na janela de pre-visualização, o email é enviado com o texto “antigo”, ou seja, o valor da variavel “EmailTexto”, e não o texto escrito pelo utilizador. Mais alguem com a mesma dificuldade? Sou eu que estou a fazer algo mal ou é bug? Marked as spam |
| Private answer Boa tarde.
Se os parâmetros já estiverem todos feitos no ERP . Apenas será preciso invoca-los como o exemplo abaixo. O método abaixo pode ser invocado e passado os parâmetros que este necessita. O restante este pega diretamente das configurações do primavera.
private void SendEMailViaERP(String strTo, String strSubject, String strBody, String strCC = "", String strBCC = "", String strfile = "")
{
String strServerSMTP;
String strFrom;
Boolean editar_email;
try
{
strFrom = PSO.PrefUtilStd.EmailEndereco;
strServerSMTP = PSO.PrefUtilStd.EmailServSMTP;
editar_email = false;
if (strTo == "")
editar_email = true;
else
if (PSO.Dialogos.MostraPerguntaSimples("Deseja editar o email antes de enviar?"))
editar_email = true;
PSO.Mail.Inicializa();
PSO.Mail.SMTPServer = strServerSMTP;
PSO.Mail.EnderecoLocal = strFrom;
PSO.Mail.AnexaFicheiro(strfile);
PSO.Mail.EnviaMailEx(strTo, strCC, strBCC, strSubject, strBody, "", editar_email);
}
catch (Exception ex)
{
PSO.Dialogos.MostraAviso("SendEMailViaERP", StdPlatBS100.StdBSTipos.IconId.PRI_Critico, ex.Message);
}
}
Marked as spam |