Monthly Reports Sending Mass Emails

Current Environment:
Zen 11.2.2 no MUs
Test Patch Applied:
database time sync patch where time showed it was off by 6 hours
Problem:
On January 31 and Feb 28 (End of the month days) it seems all my monthly reports are spamming the recipients. This started January 31 at 6pm CST and went on till 12pm CST. On February 28 at 6pm CST it starting spamming the reports again until I removed them from the report. We had upgraded to Zenwork 11.2.2 in January 2013 and this only started after the update.
Does anyone see this problem in their environment or is there a log I can see the email actions?
Thanks
Nhat

nhatdoan,
It appears that in the past few days you have not received a response to your
posting. That concerns us, and has triggered this automated reply.
Has your problem been resolved? If not, you might try one of the following options:
- Visit http://www.novell.com/support and search the knowledgebase and/or check all
the other self support options and support programs available.
- You could also try posting your message again. Make sure it is posted in the
correct newsgroup. (http://forums.novell.com)
Be sure to read the forum FAQ about what to expect in the way of responses:
http://forums.novell.com/faq.php
If this is a reply to a duplicate posting, please ignore and accept our apologies
and rest assured we will issue a stern reprimand to our posting bot.
Good luck!
Your Novell Forums Team
http://forums.novell.com

Similar Messages

  • How to use Forms10g to send mass email to users via MS Outlook?

    Does anyone has tried to write a Forms that retrieve emails from a database schema and then send mass emails to these users viad Microsoft Outlook? If yes, would you like to share your valuable experience with us?

    i would be easier to depend on database packages for achieving this result, whether you create procedures or database triggers, you can still invoke these construct form your form. If you database is a 10g database, it is easier to handle mass email since there is an already built-in package for this.
    below is an example
    Using UTL_MAIL (only for Oracle 10g)
    make sure that the UTL_MAIL package is installed
    SQL>start utlmail.sql
    SQL>start prvtmail.plb
    both can be found under $ORACLE_HOME/rdbms/admin
    utl_mail.send(
    sender IN VARCHAR2 CHARACTER SET ANY_CS,
    recipients IN VARCHAR2 CHARACTER SET ANY_CS,
    cc IN VARCHAR2 CHARACTER SET ANY_CS DEFAULT NULL,
    bcc IN VARCHAR2 CHARACTER SET ANY_CS DEFAULT NULL,
    subject IN VARCHAR2 CHARACTER SET ANY_CS DEFAULT NULL,
    message IN VARCHAR2 CHARACTER SET ANY_CS DEFAULT NULL,
    mime_type IN VARCHAR2 CHARACTER SET ANY_CS DEFAULT 'text/plain;
    charset=us-ascii',
    priority IN PLS_INTEGER DEFAULT 3);
    Example
    declare
    vSend VARCHAR2(30) := '[email protected]';
    vSubj VARCHAR2(50) := '10g new mail package';
    vMesg VARCHAR2(4000);
    vMType VARCHAR2(30) := 'text/plain; charset=us-ascii';
    BEGIN
    vmesg:= 'Hello mail 10g worked';
    utl_mail.send(vSend, '[email protected]', NULL, NULL, vSubj,
    vMesg, vMType, NULL);
    END ;
    Note: for this to work, you need to set the SMTP Server
    SQL>ALTER SYSTEM SET smtp_out_server ='smtp.realsoft-me.com' scope=spfile ; -- added Aug 15,2005
    -- Use your own smtp server name
    Re-bounce the instance for the changes to take place
    If you database is oracle 9i, then you have to depend on packages like UTL_SMTP , UTL_TCP. i have another example that uses the sames sample code that Mark refered to and you can find such example at my website
    http://www.e-ammar.com/Oracle_TIPS/oramail.htm
    The code my seem a bit complex, but you many not need to use it all, additionally, it makes a difference if you are going to use attachments or not.
    hope this helps
    Ammar Sajdi
    www.e-ammar.com
    www.palco-me.com
    www.realsoft-me.com
    Amman - Jordan Oracle certified partner
    Partner, CEO and consultant

  • Trying to Send Mass Email from my .Mac email account...

    Hi,
    I am trying to send a mass email to customers at our retail store. For some reason, it says I cannot do it! I actually even narrowed the customer list down to 25, and it still will not send... Is there something I can change in the preference list to make this happen?
    Thanks so much

    There is no preference list for this. Any controls would be server-side, implemented by Apple to prevent spammers using .Mac for hawking their wares.
    As such, there's not much you can do other than send multiple individual messages or run your own mail server.

  • Sending mass email through macmail

    MacMail: I'm wondering if there's an easy way to send an email (notice of changed email address) to all those who have ever emailed me in the past.

    If you have all of those email addresses in your Address Book you can go to the View menu and select Groups. There should be a group called All Contacts. Select that group, then click on one member of the group. Next go to the Edit menu and choose Select All (or do Command-A on your keyboard.) Now drag those contacts into the To: field of your email.
    Unfortunately if you have not put all the people you want to send this to into your address book, I do not believe there is any other way.
    Note that depending on the number of people you send to, your ISP or mail service provider may object to mass emailing.
    Best of luck.

  • Sending mass email

    I have a document that has an email address field. I'd like to send a mass email to everyone at one time. Is there a way to do this?

    Hello
    may you explain with more details?
    At this time I'm not sure of what you want.
    I guess that the Numbers document contains a list of email addresses and that you want to send mails to the stored addresses.
    You don't tell us if the contents of the mail is defined from an other tool or if it must be built by Numbers.
    Assuming that the mail is defined and that a sheet contains the mail addresses.
    I give you this AppleScript:
    --(SCRIPT)
    try
    set theDatas to the clipboard as text
    on error
    return
    end try
    set theListe to every paragraph of theDatas
    set AppleScript's text item delimiters to ", "
    set theDatas to theListe as text
    set AppleScript's text item delimiters to ""
    set the clipboard to theDatas
    --(/SCRIPT)
    Select the column of mail addresses
    copy to clipboard
    call the script to arrange the addresses as they must be for Mail.app
    Paste in the field To: of mail.app
    pclick on "Send"
    Yvan KOENIG (from FRANCE mardi 29 avril 2008 18:28:29)

  • How do i send mass emails

    I would like to send an email to all my customers without typing their email addresses into the 'send to' box.
    What is the easiest way to select the desired recipients and add them to my email?

    I am also looking for this solution.
    I update my address book every so often and on my PC was doing this with a software that sent individual emails in small batches overnight.
    How may I do this now that I'm on a Mac?

  • How can Sales team assign groups to existing marketing campaigns and send mass emails?

    We would like to empower our sales team to be able to identify small groups of contacts in their CRM and assign them to existing Eloqua campaigns that Marketing sets up and makes available to Sales. Ideally Marketing would enable specific campaigns to be available to Sales team through Engage, instead of sending a one off emails.
    Does this functionality currently exist?

    Juan,
    from an earlier post you noted you were using SFDC.
    Your sales team could add multiple contacts to a campaign by creating a list view (or report) of your contacts and merely checking the box next to the name and hitting the 'add to campaign' button.
    Then you can use the CDO method from this post to have your marketers find the campaign members and add to a campaign.  This would work for ongoing campaigns as well as a 'one-time' send.
    Nathan

  • How do i send mass emails one at a time, without using CC or BCC

    In other words, I have a mailing list for my band. When I send emails to myself and bcc a bunch of emails, many people don't receive them or they get bounced to their junk mails. Is there a way to automate Mail so that an email can be sent, one at a time, to a large list of people? I've tried looking through the help document but it doesnt' help. Thanks!

    I am also looking for this solution.
    I update my address book every so often and on my PC was doing this with a software that sent individual emails in small batches overnight.
    How may I do this now that I'm on a Mac?

  • Problem in opening report send through email

    Hi
    In my application if i run the report and mail to my client via mail option provided in Report Builder 3.0, then my client is not able to open this file (*.eps).
    So how my client will see the report in same format.
    Please Help it out.
    Regards
    isha
    null

    I just found the following 10 questions bellow!
    With which application I can open *.eps file - Generated by report while choose mail option for output.
    Thanks
    IP: Logged
    paul green ()
    unregistered posted February 12, 2001 02:04 PM
    there is an application called (i believe) ghostscript. The file format is postscript format, and thus, must be opened with a postscript reader. I believe adobe makes such a reader as well, although I'm not sure of the name.
    null

  • Please help to send an email with html page in body

    I need an html page on the body of an email to send an email blast to our customers.

    HTML Emails can be a bit tricky. You can design them in Dreamweaver, but you really shouldn't send mass email through your personal email account (or your company account). That could get you blacklisted by corporate spam filters and make your email addresses pretty much useless.
    For mass email campaigns (over a few hundred email addresses) I use http://www.icontact.com.
    You can build the email right through their site (without DW) or you can import your html from DW to their service.
    Some things to keep in mind with HTML email...
    1. Use absolute links to images and files on a server you control
    2. Use a limited amount of inline css (no external or embedded css)
    3. Use table based layouts, css support is spotty at best with email clients
    4. The <head> will be stripped from a number of email clients, don't rely on anything between the <head> tags making it to your recipients
    5. Don't use an image-only email. HTML text is very important to keep it from being labeled spam, make the images secondary to the message, many email clients will not download images without the user's say-so
    6. Include an opt-out link so people can get off your list
    There are more things to watch out for, but those are the big ones. Here is some more good info: http://alt-web.com/Articles/HTML-Emails.shtml

  • What is the best program language for mass email (PHP,  ASP, Coldfusion)?

    I want to be able to send mass email (from a SQL db) with
    stability and reliability.
    I've used Coldfusion for some time (CFmail tag) and have not
    been impressed.
    It seems, at times, it has a mind of it's own, and is a
    little unreliable, especially
    when sending hundreds of emails at one shot. I'm not dogg'n
    Codfusion,
    that's what I program in, I just am looking for a method that
    I can build on.
    My question is this: What is the best and most reliable
    coding when sending mass email?
    Is it PHP, ASP, XML, Coldfusion....what?
    You would think there has to be an optimum option out
    there...right?
    Thanks for the knowledge!

    Beezy wrote:
    > say ...500-5,000, maybe larger. Any ideas?
    >
    I've used CF to send out as many as 50,000+ emails in a
    single blast and
    haven't ever had any problems with it. Particularly with CF
    Enterprise,
    CF is an extremely high-performance mail generation engine.
    Remeber
    that CF itself doesn't send the mail so you're dependent upon
    the speed
    of your mail server as a large part of the equation as well.
    Matt
    Matt Woodward
    [email protected]
    Adobe Community Expert - ColdFusion

  • Reg: sending an email using report server

    Hi,
    i am using the below code to send an email using the report server.
    When send button Click:
    DECLARE
    PL_ID ParamList;
    repid REPORT_OBJECT;
    v_rep varchar2(100);
    rep_status varchar2(20);
    l_host_name varchar2(50);
    l_port_num varchar2(10);
    l_server_name varchar2(50);
    l_month_name varchar2(20);
    l_from varchar2(50);
    l_to varchar2(50);
    l_cc varchar2(50);
    l_property varchar2(1000);
    l_sub_out varchar2(200);
    l_sub varchar2(400);
    L_BODY VARCHAR2(1000);
    l_email_dir varchar2(50);
    BEGIN
    l_sub:=:block1.number||' '||replace(replace(:block1.desc,'&','ampersand'),'''','$quote');
    if length(l_sub) >150 then
    l_sub_out:=substr(l_sub,0,150);
    else
    l_sub_out:=l_sub;
    end if;
    l_host_name := (i used my host ip address local host);
    l_port_num := '8889';
    l_email_dir := 'C:\forms\';
    l_from := [email protected];
    l_cc := [email protected];
    L_BODY:=' Please refer to the attached abc Report';
    repid := find_report_object('PRINT_REPORT');
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_FILENAME,'abc');
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,MAIL);
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'PDF');     
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,l_server_name);
    go_block('abc_MAIL_TO');
    first_record;
    if :abc.email_address is not null then
    loop
    l_to:=:abc.email_address;
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER, 'paramform=no DISTRIBUTE=YES DESTINATION='||l_email_dir||'test.xml'||' '||
    ' p_2='|| TO_CHAR(:control.sessionid)||' '||'P_ID='||TO_CHAR(:block1.ID)||' '
    ||'P_LIST_TYPE='||'A'||' '     
    ||'DISTRIBUTE=YES DESTINATION=test.xml'||' '
    ||'P_FROM='||''''||l_from||''''||' '
    ||'P_SEND='||''''||l_to||''''||' '
    ||'P_CC='||''''||l_cc||''''||' '
    ||'P_FILE='||'C:\testfile.txt'||' '
    ||'p_email_path='||l_email_dir||' '
    ||'P_BODY='||''''||l_body||''''||' '
    ||'P_NUM='||''''||'Email report: '||l_sub_out||'''');
    v_rep := RUN_REPORT_OBJECT(repid);     
    rep_status := REPORT_OBJECT_STATUS(v_rep);
    WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
    LOOP
    rep_status := report_object_status(v_rep);
    END LOOP;
    IF rep_status = 'FINISHED' THEN
    null;
    ELSE
    message(rep_status);
    message('Error when sending email to: '||l_to);
    END IF;
    if :system.last_record='TRUE' then
    exit;
    else
    next_record;
    end if;
    end loop;
    end if;
    message ('Mail has been sent.');
    END;
    In the report:
    I created all the required parameters and i wrote a trigger as
    function AfterPForm return boolean is
    dst_file text_io.file_type;
    l_email_dir varchar2(50);
    begin
    dst_file := text_io.fopen(:p_email_path||'test.xml','w');
    text_io.putf(dst_file, '<destinations>'||chr(13));
    text_io.putf(dst_file, '<mail id="ex1" '||chr(13));
    text_io.putf(dst_file, 'from="&P_FROM"'||chr(13));
    text_io.putf(dst_file, 'to="&P_SEND"'||chr(13));
    text_io.putf(dst_file, 'cc="&P_CC"'||chr(13));
    text_io.putf(dst_file, 'subject="&<P_NUM>">'||chr(13));
    text_io.putf(dst_file, '<body srcType="text">'||chr(13));
    text_io.putf(dst_file,'<![CDATA>'||chr(13));
    text_io.putf(dst_file, '</body>'||chr(13));
    text_io.putf(dst_file, '<foreach>'||chr(13));
    text_io.putf(dst_file, '<attach format="pdf" name="report.pdf" srcType="report" instance="all">'||chr(13));
    text_io.putf(dst_file, '<include src="mainSection"/>'||chr(13));
    text_io.putf(dst_file, '</attach>'||chr(13));
    text_io.putf(dst_file, '</foreach>'||chr(13));
    text_io.putf(dst_file, '</mail>'||chr(13));
    text_io.putf(dst_file, '</destinations>'||chr(13));
    text_io.fclose(dst_file);
    return (TRUE);
    end;
    Then after compilation i click the button send. Then i got the message as
    Mail has been sent to [email protected].
    But i didn't receive any mail.
    then i check the report job id. It was showing job was successful .
    And i check whether the test.xml file was created or not. It has created the test.xml file as below:
    <destinations>
    <mail id="ex1"
    from="&amp;P_FROM"
    to="&amp;P_SEND"
    cc="&amp;P_CC"
    subject="&amp;&lt;P_NUM&gt;">
    <body srcType="text">
    <![CDATA Please refer to the attached abc Report]>
    </body>
    <foreach>
    <attach format="pdf" name="report.pdf" srcType="report" instance="all">
    <include src="mainSection"/>
    </attach>
    </foreach>
    </mail>
    </destinations>
    I have 2 machines having dev 10g. one machine is working fine with this code. but in my machine it was not working.
    Do any one of you had a solution for my case.
    Thanks in advance.
    Edited by: user648380 on Dec 29, 2009 5:59 PM

    Sorry to all.
    I made a mistake in the from email address.
    Instead of gmail.com i had given gmail,com
    I am really sorry about it.

  • CRM ONLINE 2013: On Approval Of Quotation, Run Report, Generate PDF and Send an Email With PDF as attachment

    Hi,
    I am using CRM ONLINE 2013.
    How to automate below process?
    1. On Approval Of Quotation, Run Report.
    2. Generate PDF.
    3. Send an Email With PDF as attachment.
    As i have gone through many forums for this topic, but creating a plugin code for generating Report PDF is not possible in CRM ONLINE.
    So, What is the alternate way to do this..?
    Thanks.

    This is my entire code mentioned below:-
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
        <script type="text/javascript">
            if (typeof (SDK) == "undefined")
            { SDK = { __namespace: true }; }
            SDK.JScriptRESTDataOperations = {
                _context: function () {
                    if (typeof GetGlobalContext != "undefined")
                    { return GetGlobalContext(); }
                    else {
                        if (typeof Xrm != "undefined") {
                            return Xrm.Page.context;
                        else { return new Error("Context is not available."); }
                _getServerUrl: function () {
                    var serverUrl = this._context().getServerUrl()
                    if (serverUrl.match(/\/$/)) {
                        serverUrl = serverUrl.substring(0, serverUrl.length - 1);
                    return serverUrl;
                _ODataPath: function () {
                    return this._getServerUrl() + "/XRMServices/2011/OrganizationData.svc/";
                _errorHandler: function (req) {
                    return new Error("Error : " +
      req.status + ": " +
      req.statusText + ": " +
      JSON.parse(req.responseText).error.message.value);
                _dateReviver: function (key, value) {
                    var a;
                    if (typeof value === 'string') {
                        a = /Date\(([-+]?\d+)\)/.exec(value);
                        if (a) {
                            return new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
                    return value;
                Create: function (object, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("POST", this._ODataPath() + type + "Set", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 201) {
                                successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send(JSON.stringify(object));
                Retrieve: function (id, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("GET", this._ODataPath() + type + "Set(guid'" + id + "')", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 200) {
                                successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send();
                Update: function (id, object, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.setRequestHeader("X-HTTP-Method", "MERGE");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 204 || this.status == 1223) {
                                successCallback();
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send(JSON.stringify(object));
                Delete: function (id, type, successCallback, errorCallback) {
                    var req = new XMLHttpRequest();
                    req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.setRequestHeader("X-HTTP-Method", "DELETE");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 204 || this.status == 1223) {
                                successCallback();
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send();
                RetrieveMultiple: function (type, filter, successCallback, errorCallback) {
                    if (filter != null) {
                        filter = "?" + filter;
                    else { filter = ""; }
                    var req = new XMLHttpRequest();
                    req.open("GET", this._ODataPath() + type + "Set" + filter, true);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4 /* complete */) {
                            if (this.status == 200) {
                                successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d.results);
                            else {
                                errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
                    req.send();
                __namespace: true
        </script>
        <script type="text/javascript">
            //Create Email and link it with Order as Regarding field
            var Xrm;
            var email = new Object();
            var ownerID = "";
            var CustomerId = "";
            if (window.opener) { Xrm = window.opener.Xrm; }
            else if (window.parent) { Xrm = window.parent.Xrm; }
            //Get ownerid who send email of quotation to customer
            function GetOwnerID() {
                var owner = Xrm.Page.getAttribute("ownerid").getValue();
                ownerID = owner[0].id;
                var ownerName = owner[0].name;
                var entityType = owner[0].entityType;
                GetToEmailGUID();
            //Get customerid who receive email of quotation from owner
            function GetToEmailGUID() {
                var Customer = Xrm.Page.getAttribute('customerid').getValue();
                CustomerId = Customer[0].id;
                var CustomerName = Customer[0].name;
                var entityType = Customer[0].entityType;
                //if CustomerId is type of "Account" then get Primary Contact id of that account
                if (entityType == "account") {
                    var contact = Xrm.Page.getAttribute("customerid").getValue();
                    if (contact === null) return;
                    var serverUrl = Xrm.Page.context.getClientUrl();
                    var oDataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc/AccountSet(guid'" + contact[0].id + "')?$select=PrimaryContactId";
                    var req = new XMLHttpRequest();
                    req.open("GET", oDataSelect, false);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json;charset=utf-8");
                    req.onreadystatechange = function () {
                        if (req.readyState === 4) {
                            if (req.status === 200) {
                                var retrieved = JSON.parse(req.responseText).d;
                                CustomerId = retrieved.PrimaryContactId.Id;
                            else {
                                alert(this.statusText);
                    req.send();
            function CreateEmail() {
                GetOwnerID();
                email.Subject = "Email with Report Attachment";
                //Set The current order as the Regarding object
                email.RegardingObjectId = {
                    Id: Xrm.Page.data.entity.getId(),    //Get the current entity Id , here OrderId
                    LogicalName: Xrm.Page.data.entity.getEntityName()//Get the current entity name, here it will be “salesOrder”
                //Create Email Activity
                SDK.JScriptRESTDataOperations.Create(email, "Email", EmailCallBack, function (error) { alert(error.message); });
            // Email Call Back function
            function EmailCallBack(result) {
                email = result; // Set the email to result to use it later in email attachment for retrieving activity Id
                var activityPartyFrom = new Object();
                // Set the From party of the ActivityParty to relate an entity with Email From field
                activityPartyFrom.PartyId = {
                    Id: CustomerId, //"79EBDD26-FDBE-E311-8986-D89D6765B238",  // id of entity you want to associate this activity with.        
                    LogicalName: "contact"
                // Set the "activity" of the ActivityParty
                activityPartyFrom.ActivityId = {
                    Id: result.ActivityId,
                    LogicalName: "email"
                // Now set the participation type that describes the role of the party on the activity).
                activityPartyFrom.ParticipationTypeMask = { Value: 2 }; // 2 means ToRecipients
                // Create the from ActivityParty for the email
                SDK.JScriptRESTDataOperations.Create(activityPartyFrom, "ActivityParty", ActivityPartyFromCallBack, function (error) { alert(error.message); });
                var activityPartyTo = new Object();
                // Set the From party of the ActivityParty to relate an entity with Email From field
                activityPartyTo.PartyId = {
                    Id: ownerID, //"79EBDD26-FDBE-E311-8986-D89D6765B238",  // id of entity you want to associate this activity with.        
                    LogicalName: "systemuser"
                // Set the "activity" of the ActivityParty  
                activityPartyTo.ActivityId = {
                    Id: result.ActivityId,
                    LogicalName: "email"
                // Now set the participation type that describes the role of the party on the activity).    
                activityPartyTo.ParticipationTypeMask = { Value: 1 }; // 1 means Sender
                // Create the from ActivityParty
                SDK.JScriptRESTDataOperations.Create(activityPartyTo, "ActivityParty", ActivityPartyToCallBack, function (error) { alert(error.message); });
            //ActivityParty From Callback
            function ActivityPartyFromCallBack(result) {
            //ActivityParty To Callback
            function ActivityPartyToCallBack(result) {
                GetReportId('ABM_Infotech_SalesQuote');
            //Create attachment for the created email
            function CreateEmailAttachment() {
                //get reporting session and use the params to convert a report in PDF
                var params = getReportingSession();
                //Email attachment parameters
                var activitymimeattachment = Object();
                activitymimeattachment.ObjectId = Object();
                activitymimeattachment.ObjectId.LogicalName = "email";
                activitymimeattachment.ObjectId.Id = email.ActivityId;
                activitymimeattachment.ObjectTypeCode = "email",
                    activitymimeattachment.Subject = "File Attachment";
                activitymimeattachment.Body = encodePdf(params);
                activitymimeattachment.FileName = "Report1.pdf";
                activitymimeattachment.MimeType = "application/pdf";
                //Attachment call
                SDK.JScriptRESTDataOperations.Create(activitymimeattachment, "ActivityMimeAttachment", ActivityMimeAttachmentCallBack, function (error) { alert(error.message); });
            //ActivityMimeAttachment CallBack function
            function ActivityMimeAttachmentCallBack(result) {
                var features = "location=no,menubar=no,status=no,toolbar=no,resizable=yes";
                var width = "800px";
                var height = "600px";
                window.open(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", features);
                // To open window which works in outlook and IE both
                //openStdWin(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", width,
    height, features);
            //This method will get the reportId based on a report name that will be used in            getReportingSession() function
            function GetReportId(reportName) {
                var oDataSetName = "ReportSet";
                var columns = "ReportId";
                var filter = "Name eq '" + reportName + "'";
                retrieveMultiple(oDataSetName, columns, filter, onSuccess);
            function retrieveMultiple(odataSetName, select, filter, successCallback) {
                var serverUrl = Xrm.Page.context.getServerUrl();
                var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
                var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName + "?";
                if (select) {
                    odataUri += "$select=" + select + "&";
                if (filter) {
                    odataUri += "$filter=" + filter;
                $.ajax({
                    type: "GET",
                    contentType: "application/json; charset=utf-8",
                    datatype: "json",
                    url: odataUri,
                    beforeSend: function (XMLHttpRequest) {
                        XMLHttpRequest.setRequestHeader("Accept", "application/json");
                    success: function (data) {
                        if (successCallback) {
                            if (data && data.d && data.d.results) {
                                successCallback(data.d.results);
                            else if (data && data.d) {
                                successCallback(data.d);
                            else {
                                successCallback(data);
                    error: function (XmlHttpRequest, errorThrown) {
                        if (XmlHttpRequest && XmlHttpRequest.responseText) {
                            alert("Error while retrieval ; Error – " + XmlHttpRequest.responseText);
            function onSuccess(data) {
                reportId = data[0].ReportId.replace('{', ").replace('}', ");
                CreateEmailAttachment(); // Create Email Attachment
            //Gets the report contents
            function getReportingSession() {
                var pth = Xrm.Page.context.getServerUrl() + "/CRMReports/rsviewer/reportviewer.aspx";
                var retrieveEntityReq = new XMLHttpRequest();
                var Id = Xrm.Page.data.entity.getId();
                var quotationGUID = Id.replace('{', ""); //set this to selected quotation GUID
                quotationGUID = quotationGUID.replace('}', "");
                var reportName = "ABM_Infotech_SalesQuote"; //set this to the report you are trying to download
                var reportID = "751089AA-74B8-E211-B52F-D8D3855B253B"; //set this to the guid of the report you are trying to download
                var rptPathString = ""; //set this to the CRMF_Filtered parameter
                var strParameterXML = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'><entity name='quote'><all-attributes /><filter type='and'><condition
    attribute='quoteid' operator='eq' uitype='quote' value='" + quotationGUID + "' /> </filter></entity></fetch>";
                retrieveEntityReq.open("POST", pth, false);
                retrieveEntityReq.setRequestHeader("Accept", "*/*");
                retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                rptPathString = "id=%7B" + reportID + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&reportName="
    +
                                reportName + "&isScheduledReport=false&p:ABMFilteredQuote=" + strParameterXML;
                //remove the part starting from &p:salesorderid if your report has no parameters
                retrieveEntityReq.send(rptPathString);
                var x = retrieveEntityReq.responseText.indexOf("ReportSession=");
                var ret = new Array();
                ret[0] = retrieveEntityReq.responseText.substr(x + 14, retrieveEntityReq.responseText.indexOf("&", x) - x - 14); //the session id
                x = retrieveEntityReq.responseText.indexOf("ControlID=");
                ret[1] = retrieveEntityReq.responseText.substr(x + 10, retrieveEntityReq.responseText.indexOf("&", x) - x - 10); //the control id
                return ret;
            var bdy = new Array();
            var bdyLen = 0;
            function concat2Bdy(x) {
                bdy[bdyLen] = x;
                bdyLen++;
            function encodePdf(params) {
                bdy = new Array();
                bdyLen = 0;
                var retrieveEntityReq = new XMLHttpRequest();
                var pth = Xrm.Page.context.getServerUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] +
                "&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] +
                "&OpType=Export&FileName=Public&ContentDisposition=OnlyHtmlInline&Format=PDF";
                retrieveEntityReq.open("GET", pth, false);
                retrieveEntityReq.setRequestHeader("Accept", "*/*");
                retrieveEntityReq.send();
                BinaryToArray(retrieveEntityReq.responseBody);
                return encode64(bdy);
            var StringMaker = function () {
                this.parts = [];
                this.length = 0;
                this.append = function (s) {
                    this.parts.push(s);
                    this.length += s.length;
                this.prepend = function (s) {
                    this.parts.unshift(s);
                    this.length += s.length;
                this.toString = function () {
                    return this.parts.join('');
            var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
            function encode64(input) {
                var output = new StringMaker();
                var chr1, chr2, chr3;
                var enc1, enc2, enc3, enc4;
                var i = 0;
                while (i < input.length) {
                    chr1 = input[i++];
                    chr2 = input[i++];
                    chr3 = input[i++];
                    enc1 = chr1 >> 2;
                    enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
                    enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
                    enc4 = chr3 & 63;
                    if (isNaN(chr2)) {
                        enc3 = enc4 = 64;
                    } else if (isNaN(chr3)) {
                        enc4 = 64;
                    output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
                return output.toString();
        </script>
        <script type="text/vbscript">
        Function BinaryToArray(Binary)
               Dim i
               ReDim byteArray(LenB(Binary))
               For i = 1 To LenB(Binary)
                     byteArray(i-1) = AscB(MidB(Binary, i, 1))
                     concat2Bdy(AscB(MidB(Binary, i, 1)))
             Next
              BinaryToArray = byteArray
       End Function     
        </script>
    </head>
    <body>
        <input type="button" onclick="CreateEmail();" value="Attach Report" />
    </body>
    </html>

  • Sending an email when the report is being refreshed

    Hi All,
    Is it possible, in Answers, to send an email automatically when a report is being refreshed ?
    Thanks in advance,
    Lau

    You can do this multiple ways, As you mentioned using conditional ibot also. You should have flag or indicator in your database saying that ETL load was done. Then based on conditional request run a ibot. But the trick is after completing this ibot you need to turn of the flag.
    Other easiest way is Create a report which runs ibot, Make sure you checked Oracle BI Server Cache feed check box, save the ibot. At the end of ETL execute a command which runs the ibot job for you. There is a command mode application available in Oracle BI called SASchInvoke.exe. This application will run the ibot for you.
    here is the blog which explains more about it.
    http://oraclebizint.wordpress.com/2008/03/06/oracle-bi-ee-101332-integrating-schedulerdelivers-into-other-applications/
    - Madan

  • Send an email to a mail box when generate a xml publisher report in R12

    Dears,
    I faced a tough problem about xml publisher, there is a user's requirement, they want to send an email to a common mail box after user run the xml publisher report in EBS R12 instance, and they can check the report in mail box, I have not met any reuqirement like this before, so anybody has the experience about this? and please kindly share it with me, thanks a lot.
    It seems I need upload the rtf file or xml file to a directory and then system will send the mail automaticlly, but I do not know the detail information.
    Best Regards
    Spark

    Hi Spark;
    Please check below thread which could be helpful for your issue:
    Concurrent Request Output via email
    Re: concurrent ouput to email
    Regard
    Helios

Maybe you are looking for