Attach file created from text area in a mail

To attach a file created from a text area in a mail, you'll need to use a combination of JavaScript and the mailto protocol. Here's an example of how you can achieve this:

HTML

<textarea id="my-textarea" rows="10" cols="50"></textarea>
<button id="send-email">Send Email</button>

JavaScript

const textarea = document.getElementById('my-textarea');
const button = document.getElementById('send-email');

button.addEventListener('click', () => {
  const text = textarea.value;
  const filename = 'my_file.txt'; // adjust the filename as needed

  // Create a blob from the text
  const blob = new Blob([text], { type: 'text/plain' });

  // Create a link to download the blob
  const link = document.createElement('a');
  link.href = URL.createObjectURL(blob);
  link.download = filename;
  link.click();

  // Open the mail client with the attachment
  const mailto = `mailto:[email protected]?subject=My%20Subject&body=Hello%20World&attachment=${filename}`;
  window.location.href = mailto;
});

Here's how it works:

  1. When the button is clicked, the JavaScript code gets the value of the text area and creates a blob from it.
  2. The blob is then used to create a link that can be downloaded by the user.
  3. The link is clicked programmatically to download the blob.
  4. The mailto protocol is used to open the mail client with the attachment. The attachment parameter is set to the filename of the blob.

Note that this code assumes that the user has a mail client installed and configured on their system. Also, the mailto protocol may not work on all devices or browsers.

You can adjust the filename variable to change the name of the attachment. You can also modify the mailto URL to include additional parameters, such as cc or bcc recipients.