Update cookies preferences
Promotic

Konfiguracja wstępna "Wysłanie e-maili z aplikacji"

Niniejsza konfiguracja wstępna zostanie wywołana przy założeniu nowego obiektu (np. przy pomocy opcji "Nowy obiekt ..." w menu kontekstowym obiektu lub naciśnięciem klawisza Insert po zaznaczeniu obiektu).
 
Niniejsza konfiguracja wstępna jest przyszeregowana w grupie "/ Komunikacja / Protokoły i inne środki komunikacji / Email".
 
Taką konfigurację wstępną można wytworzyć w obiekcie PmaFolder, PmaRoot lub PmaPrototype.

- Konfiguracja wstępna wytworzy zkonfigurowany obiekt typu PmaFolder zawierający 4 metody. Każda z nich jest oparta na innej technologii wysyłania wiadamości e-mail, ale wykorzystują identyczne z parametrami sTo, sSubject, sBody. Na początku znajdują się zmienne, które ustawią połączenie z serwerem SMTP.
- Częścią składową konfiguracji wstępnej jest również panel do wysłania wiadomości ale do komunikacji nie jest potrzebny.
Zawiera Pmg obiekty przeznaczone do wprowadzania adresu mailowego odbiorcy, temat wysyłanej wiadomości oraz treści wiadomości. Następnie obiekt PmgButton, który w zdarzeniu onButtonUp woła metodę projektanta "SendEmail" z odpowiednimi parametrami.
- jest konieczne określić niezbędnych danych do konfiguracji servera SMTP oraz identyfikacji nadawcy maili w dialogu wywołanym przed wytworzeniem obiektu.
- Konfiguracja wstępna panela (obiekt typu PmaPanel) działa również jako Web panel. Żeby konfiguracja wstępna działała również w Webie, jest konieczne udostępnić obiekt typu PmaPanel dla Webu (w karcie "Web serwer").


Metoda panela SendEmail może być wywoływana z dowolnego miejsca w aplikacji.
Konfiguratory, które można ustawić przed wytworzeniem konfiguracji wstępnej:
Nazwa wytwarzanego obiektuNazwa nowo wytworzonego obiektu w drzewie Pma obiektów.
Maksymalna długość nazwy wynosi 30 znaków.
Jest to nazwa systemowa, może zawierać tylko znaki alfanumeryczne oraz nie może zawierać znaki diakrytyczne (tzn. narodowo zależne znaki), pusty łańcuch, spacje oraz pierwszy znak nie może być liczba.
Domyślnie: "SendEmail"
Adres serwera SMTP
Port serwera (465, 587, ..)
Adres mailowy nadawcy
Identyfikacja użytkownika nadawcy na serwerze SMTP
Hasło użytkownika nadawcy na serwerze SMTP
Skrypt do odesłania e-maila przy użyciu technologii CDO:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var nSendUsing, oMsg, oFlds, nSmtpAuthenticate, sSmtpServer, sFrom, sUserName, sPassword, nSmtpServerPort, bSmtpUseSsl, nSmtpConnectionTimeout;

nSendUsing = 2;   // 1 = Wysyłanie wiadomości przy pomocy lokalnego serwisowego transferu SMTP, 2 = Wysyłanie wiadomości poprzez sieć
sSmtpServer = "smtp.aol.com";   // Nazwa lub adres IP podłączanego serwera SMTP
nSmtpAuthenticate = 1;   // Typ uwierzytelnienia, Żadna=0, Basic=1 (Base64 encoded), NTLM=2
sFrom = "you@aol.com";   // Adres mailowy nadawcy
sUserName = "you@aol.com";   // Identyfikacja użytkownika nadawcy na serwerze SMTP
sPassword = "******";   // Hasło użytkownika nadawcy na serwerze SMTP
nSmtpServerPort = 465;   // Port serwera (465, 587, ..)
bSmtpUseSsl = true;   // Wykorzystać SSL podczas połączenia (false lub true)
nSmtpConnectionTimeout = 60;   // Timeout podczas połączenia

oMsg = Pm.AxGetObject("new", "CDO.Message");
oMsg.BodyPart.Charset = "utf-8";   // "windows-1252" or "iso-8859-2" ...
oMsg.Subject = "Test email from PROMOTIC";
oMsg.From = sFrom;
oMsg.To = "xxxx@yahoo.com";
oMsg.TextBody = "Test email from PROMOTIC..\nIt was sent using SMTP authentication";
// oMsg.HTMLBody = "<h1>Test email from PROMOTIC..</h1><p>It was sent using SMTP authentication.</p>
oMsg.Addattachment("c:/temp/Text.txt");
// oMsg.Addattachment("c:/temp/Text2.txt");

// To jest sekcja gdzie można zdefiniować oraz zkonfigurować połączenie ze zdalnym serwerem SMTP
oFlds = oMsg.Configuration.Fields;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = nSendUsing;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = sSmtpServer;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = nSmtpAuthenticate;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = sUserName;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = sPassword;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = nSmtpServerPort;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = bSmtpUseSsl;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = nSmtpConnectionTimeout;
oFlds.Update();
// Koniec sekcji zdalnej konfiguracji serwera SMTP

oMsg.Send();


http://www.w3schools.com/asp/asp_send_email.asp

Skrypt do odesłania e-maila przy użyciu technologii CURL:
JavaScriptWybierz oraz skopiuj do schowka

var sSmtp = "smtps://smtp.aol.com:465";
var sFrom = "name@aol.com";
var sUser = "'nameid:password'";
var sPath = Pm.DiscGetPath("#cfg:");
var sFileName = "email_body.txt";

var sTo = "test@gmail.com";
var sSubject = "Test send mail";
var sTextBody = "Test send mail from Promotic application.";
var sBody = "To: " + sTo + "\n" + "From: " + sFrom + "\n" + "Subject: " + sSubject + "\n\n" + sTextBody;

var bDone = Pm.FileTextWrite(sPath + sFileName, sBody);
if (bDone)
{
var sSend = "--ssl-reqd " + sSmtp + " --mail-from " + sFrom + " --mail-rcpt " + sTo + " --upload-file " + sFileName + " --user " + sUser;
Pm.CreateProcess("curl " + sSend, sPath);
}


Skrypt do odesłania e-maila przy użyciu technologii PowerShell:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var sEmail = "";
sEmail += "$emailSmtpServer = 'smtp.aol.com'\n";   // SMTP server
sEmail += "$emailSmtpServerPort = '587'\n";   // Port 465, 587, ...
sEmail += "$emailFrom = 'name@aol.com'\n";   // Sender's email address
sEmail += "$emailSmtpUser = 'nameid'\n";   // Your UserID on the SMTP server
sEmail += "$emailSmtpPass = 'password'\n";   // Your password on the SMTP server
sEmail += "$emailTo = 'test@gmail.com'\n";

sEmail += "$emailMessage = New-Object System.Net.Mail.MailMessage($emailFrom, $emailTo)\n";
sEmail += "$emailMessage.Subject = 'Test send mail'\n";   // Subject message
sEmail += "$emailMessage.Body = 'Test send mail from Promotic application.'\n";   // Text body message
sEmail += "$SMTPClient = New-Object System.Net.Mail.SmtpClient($emailSmtpServer, $emailSmtpServerPort)\n";
sEmail += "$SMTPClient.EnableSsl = $True\n";
sEmail += "$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($emailSmtpUser, $emailSmtpPass)\n";
sEmail += "$SMTPClient.Send($emailMessage)\n";

var sFilePath = Pm.DiscGetPath("#data:Email.ps1");
var bDone = Pm.FileTextWrite(sFilePath, sEmail);
if (bDone)
{
var oShell = Pm.AxGetObject("new", "WScript.Shell");
oShell.Run("Powershell -executionpolicy remotesigned -File " + sFilePath, 0, true);
}
Pm.FileDelete(sFilePath);


Skrypt do wysyłania wiadomości e-mail z Thunderbirda:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var sTo = "test@gmail.com";
var sSubject = "Test send mail";
var sBody = "Test send mail from Promotic application.";
var sPath = "c:/Program Files (x86)/Mozilla Thunderbird/";
var sParams = "-compose subject=" + sSubject + ",to=" + sTo + ",body=" + sBody;
Pm.ShellExecute("open", sPath + "thunderbird.exe", sParams, 3);

Historia:
Pm8.00.01: Wytworzono
© MICROSYS, spol. s r.o.