Unexplained and Unannounced Change Affects Tenant Processing
The ability to send email to a Teams channel has existed since the earliest days of the product. If Email integration is turned on (the default) for Teams (in the Teams settings section under Org-wide settings in the Teams admin center), team members can retrieve an email address for a channel using the Get email address option (Figure 1). If the address doesn’t already exist, Teams creates one in the form Channel display name <identifier.domain@region.teams.ms>. The identifier is a unique 8-character value and the region is the datacenter region the tenant belongs to.
Figure 1: Getting the email address for a Teams channel
The email address is a tad strange, you can’t change it, and any team member (except guests) can remove and replace the address, but the mechanism works to get email into Teams. Any message sent to the address is picked up by a connector and posted as a new conversation in the target channel. Team members can then reply to the conversation as they wish (replies do not go back to the original sender).
All in all, sending email to a channel is a simple and effective way of taking messages which arrive at any mailbox and share information with Teams. Outlook’s Share to Teams option is a more elegant option if you have a supported client, but it doesn’t offer the flexibility of an email address.
Guest Account for a Teams Channel
I often create a guest account or mail contact using the email address for a Teams channel. This technique allows me to include the channel as a member of Microsoft 365 groups (guest account) or distribution lists (mail contact), and be visible in the GAL. Once available in the GAL (Figure 2), anyone in the tenant can send or forward messages to the channel as easily as addressing any other recipient. This is an example of the flexibility of the channel email address.
Figure 2: Teams channel address listed as a mail contact in the GAL
Teams Channel Email and SharePoint Online
When email arrives for a channel, Teams captures a copy in the SharePoint team site belonging to the team. Each channel has its own folder, and if messages arrive in the channel, they go into the Email Messages folder under the channel folder.
That is, until February 5 when Microsoft changed how delivery works. Instead of creating copies in the Email Messages folder, a new folder called EmailMessages_2_2021 appeared in the channel folder (Figure 3). New messages received since are in separate folders created for each month.
Figure 3: The EmailMessages_2_2021 folder appears in Teams
Breaking Flows
On the surface, there’s nothing bad here. Microsoft had some reason to change how SharePoint stores email delivered to Teams. It seems like a sensible idea to use separate month-based folders instead of stuffing everything into one big folder. There doesn’t seem to be a technical reason for the change as the documentation for SharePoint Online limits doesn’t mention anything that seems to be related, with the only mention that when a folder contains more than 100,000 items, you can’t break permissions inheritance.
But making an unannounced change without warning can have unexpected consequences for service users. In this case, users noted that Power Automate flows failed because messages went to the new folder instead of the expected folder. The workaround is to create yet another flow to trigger when .eml (message) files appear in the document library and create a copy where the original flow expects it to be. Although this works, it is clunky and shouldn’t be necessary. And what about the people who don’t realize yet that a change has happened?
Microsoft knows about the problem. However, there’s no word yet how they plan to address the issue. When we know, we’ll publish an update here.
Changes like this are the bread and butter of the Office 365 for IT Pros writing team. We see similar updates come along every month and process them as updates to book chapters. Once we get to the bottom of this development, we’ll update Chapter 12. Stay updated by subscribing to Office 365 for IT Pros – the only book about Office 365 tenant management republished monthly.
7 Replies to “Microsoft Changes Storage Location for Email Sent to Teams Channels”
The format of the folder name could certainly be better. ISO representation of date would be preferred e.g. “EmailMessages_2021-02”. Second choice would be “EmailMessages_02_2021” so folders would at least sort properly. Sheesh.
can anybody help a noob by defining how to configure the workaround suggested above. i.e. How do you trigger on incoming .eml and then copy the emails attachment to the folder
I recently noticed another change in my tenants: only emails without attachments get forwarded to the channel. Emails with attachments just disappear into cyberspace…
{"id":null,"mode":"button","open_style":"in_modal","currency_code":"EUR","currency_symbol":"\u20ac","currency_type":"decimal","blank_flag_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":100,"top_media_type":"featured_image","featured_image_url":"https:\/\/office365itpros.com\/wp-content\/uploads\/2022\/11\/cover-141x200.jpg","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Virtual Tip Jar","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Office 365 for IT Pros","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Office 365 for IT Pros","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting the work of Office 365 for IT Pros!","payment_confirmation_title":"Office 365 for IT Pros","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
The format of the folder name could certainly be better. ISO representation of date would be preferred e.g. “EmailMessages_2021-02”. Second choice would be “EmailMessages_02_2021” so folders would at least sort properly. Sheesh.
it would be better if those folders were created inside a parent folder. I don’t really like this proliferation of folders
can anybody help a noob by defining how to configure the workaround suggested above. i.e. How do you trigger on incoming .eml and then copy the emails attachment to the folder
I recently noticed another change in my tenants: only emails without attachments get forwarded to the channel. Emails with attachments just disappear into cyberspace…