2014-11-10 2 views
0

Я пытаюсь отправить электронную почту с приложением через интерфейс SAHI. Но я не могу этого сделать. Кто-нибудь может мне помочь. Код, который я использую для отправки электронной почты выглядит следующим образом:Как отправить электронное письмо с приложением через sahi UI

function sendEmailWithAttachment($emailUsername, $emailPassword, $toEmail, $emailSubject, $emailBody) 
{ 
    var $host = "smtp.gmail.com"; 
    var $port = 465; 
    var $isSSL = true; // set to true if you use SSL 
    var $mailer = new Packages.net.sf.sahi.ant.Mailer($host, $port, $emailUsername, $emailPassword, $isSSL); 
    var $from = $emailUsername; 
    var $to = $toEmail; 
    $mailer.addAttachment("3_PO#POS-POS-008-003358 DELL.pdf", "../../../../../lib/VSAAutomation.Common/3_PO#POS-POS-008-003358 DELL.pdf"); 
    $mailer.send($from, $to, $emailSubject, $emailBody); 
} 

И я вызываю функцию таким образом:

sendEmailWithAttachment($notifyEmailId, $notifyEmailPassword, $emailReaderId, "automateticket"+$randomNum, "automated ticket from Sahi"); 

Также просто, чтобы вы знаете, что я положил почту. jar, activation.jar и ant-sahi.jar в правильных местах

ответ

1

Используйте эти функции для отправки электронных писем с прикрепленными файлами. Вы можете предоставить вложение, как указано в коде ниже.

function sendEmailWithProps($emailSubject, $emailBody) { 
    var $props = loadProperties(_resolvePath("../config/email.properties"), false); 
    var $mailer = new Packages.net.sf.sahi.ant.Mailer($props); 
    var $subjectPrefix = $props.getProperty("mail.subject.prefix"); 
    if($subjectPrefix !== null){ 
$emailSubject = $subjectPrefix + $emailSubject; 
    } 
$mailer.addBody($emailBody); 
$mailer.addSubject($emailSubject); 

//Provide attachment details here 
$mailer.addAttachment("attached", "c:/abc.txt"); 
$mailer.send(); 
} 

function loadProperties($path, $isXML) { 
    var $props = new java.util.Properties(); 
    try { 
    var $inStream = new java.io.FileInputStream($path); 
    if ($isXML) { 
     $props.loadFromXML($inStream); 
    } else { 
     $props.load($inStream); 
    } 
    $inStream.close(); 
    } catch (e) { 
      _log(e); 
    } 
    return $props; 
} 
sendEmailWithProps("Mail from Sahi", "All izz well"); 

Обратите внимание, что в папке userdata/config необходимо иметь полностью сконфигурированный файл email.properties. Это немного сложно, так как вам нужно использовать файл свойств для отправки электронной почты с вложениями.