EntLib 5 Email Subject Line Edit? - smtp

I am trying to change the subject line of email sent by Enterprise Library 5. I don't mean changing the subject line Starter/Ender (as seen in http://entlib.codeplex.com/discussions/69689?ProjectName=entlib), I want to change the actual Subject text, which is not the same as the Logger's Message Title.
All ideas appreciated.
Thanks.

Looking at the source for EmailMessage in Enterprise Library 5 the subject is generated by
string sendToSmtpSubject = header + logEntry.Severity.ToString() + footer;
If you need to have complete control of the subject line in your email message you will need to extend the existing EmailTraceListener to include your added functionality. (or simply modify the code and use your custom build of EntLib in your application).

Related

Populate word document from html form

I am new to web development and need your help to figure out how to use the form in HTML and use the data to populate the said field in a word document. Any advice on how to approach this problem is highly appreciated. It would really help if you could post a live example for the below. Please,do let me know if any further explanation is required.
As a new developer, I want to advise you that you are getting into some challenging territory here and many of the solutions might require some heavy experience with programming and MS Word. In this forum, there are many options you can try, but from what I gather you will need to learn about macros.
The second option you could try are some services that will do this for you for a fee. Here are two options. Check out Formstack or Jotform
If you use this type of service, you would create a form action within your html code that will merge the data from the form into the Microsoft Word Document using merge tags.
The third option you can try is using Javascript within the form to populate the Word Document. The code would look more like this:
function Export2Word(element, filename = ''){
var preHtml = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>Export HTML To Doc</title></head><body>";
var postHtml = "</body></html>";
var html = preHtml+document.getElementById(element).innerHTML+postHtml;
var blob = new Blob(['\ufeff', html], {
type: 'application/msword'
});
// Specify link url
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html);
// Specify file name
filename = filename?filename+'.doc':'document.doc';
// Create download link element
var downloadLink = document.createElement("a");
document.body.appendChild(downloadLink);
if(navigator.msSaveOrOpenBlob ){
navigator.msSaveOrOpenBlob(blob, filename);
}else{
// Create a link to the file
downloadLink.href = url;
// Setting the file name
downloadLink.download = filename;
//triggering the function
downloadLink.click();
}
document.body.removeChild(downloadLink);
}
Export HTML Table Data to Excel using JavaScript
HTML Content:
Wrap the HTML content in a container you want to export to MS Word document (.doc).
<div id="exportContent">
<!-- Your content here -->
</div>
Last option would be using PHP, and I recommend watching this video by CodexWorld and reviewing the post that goes along with it here. This is a challenging concept, so I would encourage you to take your time.
Hopefully this will help and best of luck.
Well, I don't know how to exactly do that, I am also a beginner like you. What seems to help you might be connecting your form with Google Sheets. The Google Spread Sheet will store all data submitted via your form. You can then use this data wherever you want.
There is an open source project for this task, you can do that by following the steps stated here: https://github.com/dwyl/learn-to-send-email-via-google-script-html-no-server
You can see it in action here: https://nisootech.vercel.app/#contact-me
There are two parts in your application
Enabling user to input the values in frontend. Which you can build using any frontend technology stack eg: HTML and Plain Javascript(Required for calling the Services), React JS, Angular etc.
Backend Service which will basically does the heavy work
Receiving the input from user.
Creating Word file using any libraries such as
Generate word files using Apache POI ,
Using Node.js to generate dynamic word document using Database value
Downloading the file after its completely generated using the values supplied by user.
download a file from Spring boot rest service
how to download file in react js
For the Backend service you can use technologies like Java and Springboot, Python, Node Js etc.
Building Restful webservices using spring
Use Technology in which you are more comfortable and start building. These Links and documentation you can use to start from basic.
Suggest you to breakdown your problems focus on each specific areas and do the development as per your smaller problems and integrate them later.

Drupal 8, Webform module : send html mail with plain text mime/alternative

We use Webform Drupal 8 module to handle newsletter subscription on a website. An html formatted email is sent to confirm subscription. Unfortunately, this email is sent with only content-type:text/html, and you know how picky Spamassassin is about this. It's a real deliverability issue.
We'd like to be able to send that email with a content-type:multipart/alternative, with 2 parts : one with text/html content-type and one with text/plain.
How can we do this ? We installed "mail system" and "mime mail" modules, but we can't figure out how to use them, or even if it's the right solution.
Has anyone ever managed to do this?
Have a look at this module.
Once mime-mail module is enabled you can modify the emails send by Drupal using hook_mail_alter hook (see here) and add plain-text version.
In a custom module, in your mymodule.module file you can do something like this:
/**
* Implements hook_mail_alter().
*/
function mymodule_mail_alter(&$message) {
//to specify which email need altering based on id
//without this all emails send will be altered
if (isset($message['id']) && $message['id'] == 'contact_page_mail') {
//set plain text
$message['params']['plaintext']= "HTML support needed";
}
}

Create EmailMessage out of Aspose.Net Email MapiMessage?

Is there a way to create an EWS EmailMessage class instance out of Aspose.Net Email MapiMessage class instance?
I'm trying to use some common logic for email processing.
1) I have a service processing emails coming to an Exchange folder, and everything works just perfectly.
2) Also, I have users able to upload email files (*.msg) into the web app. These emails are processed using Aspose.Net.Email and I have an instance of MapiMessage as an output.
What I can try to do is to use MapiMessage .ToMailMessage() method, which will create an instance of MailMessage from this MapiMessage. But even after that, I wasn't able to find a way to create an EmailMessage to be able to use the processing logic from 1).
Any suggestions?
I have observed your requirements and if I am correctly understanding you are looking for support for interface between Aspose.Email MapiMesaage class and EWS EmailMesage class. These two classes belong to two different APIs and have no interface between them. Aspose.Email for .NET does allow saving as MSG or EML file format and you may load them on your end using EmailMessage class.
I am working as Support developer/ Evangelist at Aspose.
https://learn.microsoft.com/en-us/dotnet/api/microsoft.exchange.webservices.data.emailmessage?view=exchange-ews-api
https://apireference.aspose.com/net/email/aspose.email.mapi/mapimessage/constructors/1

Exceeding maximum subject length using message.forward

I have searched the site, and the web, but have had no joy.
I have a google apps script attached to a spreadsheet that (among other things) forwards emails with a given label to a given email address. I recently sent an email with a very long subject line, and the script has started failing on the following line of code:
msgsToStore[l].forward(emailAddress);
The error I receive is "Argument too large: subject"
The subject of the original email is 283 characters. Forwarding the message within the gmail web interface works without difficulty, adding "Fwd: " to the beginning as you would expect. The subject contains an ampersand, but is otherwise not unusual.
I need something I can use other than .forward, or some way of modifying the message object before forwarding it, but I can't find any documentation as to what the maximum size is.
Any help is greatly appreciated.
Trim the subject:
trimmed_subject = msgsToStore[l].getSubject().substring(0, 250)
msgsToStore[l].forward(emailAdress, {
subject: trimmed_subject,
});
More details: https://developers.google.com/apps-script/reference/gmail/gmail-message#forward(String,Object)

ewsExchangeAPI Send Email Performance Issue

We planned to migrate the Old Outlook MAPI Logic to EWS Exchange API to send email. I have tested the performance of sending email by triggering 1500 emails (looped) with the attachment of 256 kb PDF File.
For One email it is taking 5 to 6 seconds and overall it is taking 2 hours to send all 1500 emails.
But in other side using Outlook MAPI just taking 45 Minutes to send all 1500 emails.
Am just using basic send email method not much logic added as like below (not an actual code I used).
//Create the email message.
EmailMessage message = new EmailMessage(service);
message.Subject = "Message with Attachments";
message.Body = "This message contains one item attachment.";
message.ToRecipients.Add(UserData.EmailAddress);
//Create another item and use it as an attachment.
ItemAttachment<EmailMessage> itemAttachment1 = message.Attachments.AddItemAttachment<EmailMessage>();
itemAttachment1.Name = "Attached Message Item";
itemAttachment1.Item.Subject = "Message Item Subject";
itemAttachment1.Item.Body = "Message Item Body";
itemAttachment1.Item.ToRecipients.Add(UserData.EmailAddress);
message.SendAndSaveCopy();
Is this the API performance or I need to do some logic to send the email even faster.. Please suggest..
Thanks,
Gunasekaran Sambandhan
Sorry All,
There was a problem in my code. I just modified the way of call from consuming application, as well as a slight change in my .NET COM INTERFACE LIBRARY.
In my case VB 6.0 is the consuming Application.
.NET COM INTERFACE LIBRARY
I just modified the class representation in a way that:
Create Exchange Web service instance method
Send email
From VB 6.0 Application:
Call The Create Exchange Web service instance method
loop thru 1500 emails & call Send email with details
Just a basic discipline that has to be followed but I didn't so I got performance issue. Now I rectified myself & now it is working better that Outlook MAPI. (i.e. Now EWS Only takes 15 minutes)
Thanks,
Gunasekaran Sambandhan