Skip to main content

Kutools for Office — One Suite. Five Tools. Get More Done.

How to auto email with cc or bcc field by mailto function in Excel?

Author Siluvia Last modified

When working with business communication or managing email outreach lists, you may often need to quickly generate pre-filled emails directly from your Excel data. The mailto hyperlink function in Excel allows you to set up email drafts with pre-completed fields such as CC and BCC, streamlining the process of reaching multiple contacts without switching between applications. This method is especially useful for users seeking to minimize manual entry while ensuring that important recipients are always included in communications. In this article, we will show you several approaches to automate email generation with CC and BCC fields in Excel—including mailto hyperlinks, VBA code for direct Outlook automation, and dynamic Excel formula methods.

Auto email with cc or bcc field by mailto function in Excel
VBA code – Send emails from Excel with cc and bcc via Outlook
Excel formula – Dynamically generate mailto links with cc and bcc
Kutools for Excel - Easily send email with cc and bcc


Auto email with cc or bcc field by mailto function in Excel

The mailto hyperlink approach is a direct way to initiate email creation with predefined CC and BCC fields in desktop Outlook or other email clients that support mailto protocol. This method is simple and suitable for users who need to generate emails in small volumes manually or want to link contact lists to pre-filled draft messages.

However, please note that mailto hyperlinks only open an email draft and do not send it automatically; further, limitations may exist based on your default email client’s support for advanced fields like bcc or non-Outlook environments.

To set up a mailto hyperlink in Excel with CC or BCC fields, proceed as follows:

1. Select the cell containing the text you want to convert into a mailto hyperlink. This cell label could be the recipient's name, email address, or a description for the email action.

2. Click Insert > Hyperlink from the Excel ribbon. The "Insert Hyperlink" dialog box will appear.

A screenshot showing Insert > Hyperlink option in Excel for adding mailto link

3. In the Insert Hyperlink dialog box:

  • Click E-mail Address in the Link to panel on the left side of the dialog.
  • In the E-mail address field, type the primary recipient's email address (the "To" address).
  • In the Subject field, you can specify not only the subject line, but also append cc, bcc, and body fields. To separate these parameters, use the ampersand (&) character. Ensure you do not leave spaces between parameter names and the equals sign.

Example: If you'd like to create an email with the subject "Subject test", CC to happy.xuebi@163.com, BCC to happysiluvia@gmail.com, and with the body text "new test mail", enter the following in the Subject box:

Subject test&cc=happy.xuebi@163.com;&bcc=happysiluvia@gmail.com;&body=new test mail

The correct format is: Subject message&cc=e-mail address;&bcc=e-mail address;&body=Text of the message. Replace these with your own subject, cc, bcc, and body content as needed. You can specify multiple CC or BCC emails by separating them with semicolons (for example: cc=address1@mail.com;address2@mail.com). Avoid excessive length in the field, as some email clients may limit mailto URL length.

4. Click OK to confirm your settings and create the hyperlink. When you click this cell link, Outlook will open a new email draft with your To, CC, BCC, Subject, and Body fields pre-filled as specified.

A screenshot of the Insert Hyperlink dialog with email address, subject, and cc/bcc options in Excel

Once the mailto hyperlink is set up, clicking it in Excel will automatically launch your default email program (such as Outlook) with the composed message ready for you to review and send. This greatly reduces repetitive manual typing and ensures consistency.

A screenshot of an Outlook email draft created with mailto hyperlink from Excel, showing populated To, CC, BCC, and body fields

Tips & Notes:

  • This method works when Outlook is set as your default email client. If your system uses another email program, or if webmail interfaces are your default, the result may differ or fail to create CC/BCC fields as expected. Test with your environment before large-scale use.
  • The number of characters in the mailto URL may be limited especially if the email body is long or if there are multiple recipients. For batch messaging, consider alternative solutions such as VBA automation.
  • If you use line breaks in the message body, encode them as %0D%0A (for example, body=Line1%0D%0ALine2).

VBA code – Send emails from Excel with cc and bcc via Outlook

In scenarios where you need to automate sending emails directly—without requiring users to manually click hyperlinks—Excel's VBA (Visual Basic for Applications) capabilities can be leveraged. With VBA, you can customize emails to include To, CC, BCC, subject, and body fields, and then dispatch them through Outlook. This is highly suitable for batch email sending, reporting, and situations where standardized communication is critical. The method described below sends emails programmatically, ensuring hands-free execution but requiring that Microsoft Outlook is installed and available on your computer.

Advantages: Highly flexible, supports bulk automation, handles many recipients, no manual intervention required. Useful for reporting, reminders, and workflow notifications.
Disadvantages: Requires macro-enabling and permission settings. Will not work if Outlook is blocked or not installed.

1. Open the VBA editor by clicking Developer > Visual Basic. In the window that appears, click Insert > Module, then paste the following code into the module area:

Sub SendMailWithCCandBCC()
    Dim OutlookApp As Object
    Dim OutlookMail As Object
    Dim ToRecipient As String
    Dim CCRecipient As String
    Dim BCCRecipient As String
    Dim SubjectLine As String
    Dim BodyText As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set OutlookApp = GetObject(class:="Outlook.Application")
    If OutlookApp Is Nothing Then
        Set OutlookApp = CreateObject(class:="Outlook.Application")
    End If
    
    On Error GoTo 0
    Set OutlookMail = OutlookApp.CreateItem(0)
    
    ' Read recipient fields from worksheet cells if needed:
    ToRecipient = "recipient@email.com"
    CCRecipient = "ccperson@email.com"
    BCCRecipient = "bccperson@email.com"
    SubjectLine = "This is a test subject"
    BodyText = "This is the email message body."

    With OutlookMail
        .To = ToRecipient
        .CC = CCRecipient
        .BCC = BCCRecipient
        .Subject = SubjectLine
        .Body = BodyText
        .Display ' Use .Send to send without preview, or .Display to show draft
    End With
    
    Set OutlookMail = Nothing
    Set OutlookApp = Nothing
End Sub

2. After entering the code, close the VBA editor. Go back to Excel, and on the Developer tab, click Macros, select SendMailWithCCandBCC, and click Run. This will launch Outlook and create an email with your pre-defined To, CC, BCC, subject, and body fields. If needed, you can assign these values dynamically by reading from specific worksheet cells and replacing the hardcoded addresses above. For instance, use ToRecipient = Range("A2").Value to read from cell A2.

Troubleshooting tips: If the macro does not run, check that macros are enabled via File > Options > Trust Center > Macro Settings. Also, Outlook must not be blocked by your system’s security policies. If you receive an error, verify that Outlook is properly installed and configured as the default mail handler.

Note: This VBA approach bypasses manual clicking of hyperlinks and is highly recommended for bulk automated emailing workflows. Always verify compliance with your organization's email policies before sending automated messages.


For spreadsheet users needing to create dynamic mailto links for multiple recipients, batch emailing, or personalized email links based on varying worksheet data, Excel formulas can be used to generate mailto hyperlinks automatically. This is especially beneficial in situations where recipient lists, subjects, or message bodies differ row by row, such as outgoing customer notifications or tailored alerts. The formula-based method supports high flexibility while keeping all configurations within plain worksheet cells.

Advantages: No need for VBA or macros. Adaptable for personalized or batch links. Minimal setup and low risk.
Disadvantages: Still requires users to manually click the links, URL length is limited, and complex encoding may be necessary for special characters.

For example, suppose you have the following layout:

  • A2: Primary recipient email address (To)
  • B2: CC email address(es)
  • C2: BCC email address(es)
  • D2: Subject
  • E2: Email body

To generate a dynamic mailto hyperlink with these fields, enter the following formula in cell F2:

=HYPERLINK("mailto:"&A2&"?cc="&B2&"&bcc="&C2&"&subject="&D2&"&body="&E2, "Send Mail")

After typing this formula in F2, press Enter. The cell will display the text Send Mail as a clickable link. Clicking it crafts an email in your default email client using the addresses and content specified in columns A to E.

If you wish to apply this to multiple rows, simply copy cell F2 and paste it downward over the desired row range. This dynamically adapts the mailto contents for each row’s data.

Practical tips:

  • Use ENCODEURL() (available in modern Excel) for bodies or subjects that may contain spaces or special characters, for example: ENCODEURL(D2).
  • For systems where ENCODEURL is not available, manually replace spaces with %20 and special characters as needed.
  • Limit the total link length to avoid errors when links get truncated by email clients.
Error reminder: Mailto hyperlinks created with formulas also depend on your system's default mail program. If nothing happens or the link opens in a webmail interface, check and adjust your default application settings in Windows.

Kutools for Excel - Easily send email with cc and bcc

For users seeking a more intuitive and user-friendly approach without dealing with formulas or VBA code, Kutools for Excel offers a powerful and efficient solution. Its Send Emails feature provides a graphical interface to easily send emails with CC and BCC recipients directly from Excel, making it ideal for users who prefer point-and-click operations.

Advantages of This Method:
  • No Formula or VBA Required: Fully GUI-based, eliminating the need for coding.
  • Dynamic Mailing List Support: Easily map Excel ranges to email fields (To, CC, BCC, Subject, etc.).
  • Batch Processing: Send emails in bulk based on your mailing list.
  • Outlook Integration: Seamlessly sends emails via Outlook with attachments and custom placeholders.

After installing Kutools for Excel, do as follows:

  1. Prepare your mailing list: arrange your data in a worksheet with columns such as Email, Cc, Bcc, Subject, etc. See screenshot:
    A screenshot of the mailing list
  2. Select the range of cells containing your mailing list (including headers).
  3. Go to Kutools Plus tab, select Send Emails.
  4. Then configure the Send Emails settings:
    1. In the To, Cc, Bcc and Subject fields, select the corresponding column header.
    2. Type your email body in the text box.
    3. Click Send to dispatch emails automatically via Outlook.
      A screenshot of the send emails feature

Kutools will process each row in your mailing list and send individual emails with the specified CC/BCC recipients.

Notes:
  • This feature sends emails via Outlook by default. Therefore, please ensure that Outlook is installed and configured on your system.
  • If Outlook is not configured on your computer, you can manually configure another mail server to send emails.

Kutools for Excel - Supercharge Excel with over 300 essential tools. Enjoy permanently free AI features! Get It Now


In summary, choose VBA for automated, bulk or hands-free sending tasks—especially when you work with high volume reports or scheduled notifications. For interactive use cases with smaller recipient lists, dynamic formula-based mailto links offer efficient workflow integration. Alternatively, for a completely GUI-based approach that requires no coding, Kutools for Excel provides a powerful Send Emails feature that simplifies the process of sending messages with CC/BCC fields by allowing you to directly map Excel ranges to email fields—making it ideal for users who prefer intuitive, point-and-click operations. Always verify that your system's security and default application settings are compatible with these solutions, and test workflows on a small scale before deploying broadly to avoid accidental mass emails or unintentional data exposure.

Related article:


Best Office Productivity Tools

🤖 Kutools AI Aide: Revolutionize data analysis based on: Intelligent Execution   |  Generate Code  |  Create Custom Formulas  |  Analyze Data and Generate Charts  |  Invoke Kutools Functions
Popular Features: Find, Highlight or Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |   Round without Formula ...
Super Lookup: Multiple Criteria VLookup    Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup ....
Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List ....
Column Manager: Add a Specific Number of Columns  |  Move Columns  |  Toggle Visibility Status of Hidden Columns  |  Compare Ranges & Columns ...
Featured Features: Grid Focus   |  Design View   |   Big Formula Bar    Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells    Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ...
Top 15 Toolsets12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   ... and more
Use Kutools in your preferred language – supports English, Spanish, German, French, Chinese, and 40+ others!

Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time.  Click Here to Get The Feature You Need The Most...


Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!

All Kutools add-ins. One installer

Kutools for Office suite bundles add-ins for Excel, Word, Outlook & PowerPoint plus Office Tab Pro, which is ideal for teams working across Office apps.

Excel Word Outlook Tabs PowerPoint
  • All-in-one suite — Excel, Word, Outlook & PowerPoint add-ins + Office Tab Pro
  • One installer, one license — set up in minutes (MSI-ready)
  • Works better together — streamlined productivity across Office apps
  • 30-day full-featured trial — no registration, no credit card
  • Best value — save vs buying individual add-in