Backup Android SMS, MMS and call log to Gmail / Gcal / IMAP
Please read the known issues before reporting any new issues; we already know about several significant issues, including Gmail login failures (for which there is a robust work-around), and problems with logging phone calls into calendars (which we are investigating).
This is a fork of the now-defunct Android backup tool
SMS Backup. It uses Gmail/IMAP to perform SMS, MMS and call log backups over
the network.
Main features/improvements:
Restore. SMS/Call logs stored on Gmail can be transferred back to the phone.
Security. SMS Backup+ does not need your Gmail password.
MMS backup support (added in version 1.1)
Call log backup (version 1.2), with Google Calendar integration
(1.3) and restore (1.4).
Works with any IMAP server (but defaults to Gmail).
Tested with Android 4.x (Ice Cream Sandwich) - 10.x. (Q)
SMS Backup+ is available for free in the Google Play Store and on F-Droid,
there will never be a pro / paid version.
But if you find the app useful and want to support its development you can make a donation
using the secure in-app Play Store payment mechanism.
To get updates more frequently join the beta programme or download the latest beta manually
from Github releases.
Also make sure to read the Privacy Policy.
You need to have an IMAP account or a Gmail account with IMAP enabled. See
Use IMAP to check Gmail on other email clients to learn how to enable IMAP for your Gmail
account or look at this screenshot.
After starting SMS Backup+, tap on “Connect” to start the authorization process.
👉 1.5.11: You will first have give SMS Backup+ the permission to access your account, displayed
as “Allow SMS Backup+ to access your contacts?”.
If you consent you have to confirm the Gmail account to be used for the backup.
If you don’t have a Google account registered on your device a browser window
will appear to perform a web-based authentication as fallback.
After completing the authorization process the “Connect”
switch should be activated, indicating success. You are now ready to perform
the first backup.
👉 1.5.11: “Connected” changed from checkbox to switch.
It is important that you perform the first backup manually. SMS Backup+ needs
to know whether you want to upload messages currently stored on your device or
not.
After having connected your Gmail account, SMS Backup+ will ask you to perform
a first backup. If you choose “Backup”, SMS Backup+ will start backing up all
your messages to Gmail.
If you choose “Skip”, nothing is sent to Gmail and all messages currently
stored on your device are simply marked “backed up”. This option is handy if
you previously uninstalled SMS Backup+ and do not want to send your messages
again to Gmail. Please note that any messages arrived after you last
uninstalled SMS Backup and this initial backup won’t ever be backed up to
Gmail.
👉 1.5.11: Before the backup starts you will have to grant “send and
view” permissions for SMS.
If you wish to restore messages back to your phone tap “Restore”. By default
all messages stored on Gmail will be restored (this can be changed in “Advanced
Settings”).
👉 1.5.11: Default changed to 500 messages.
You can safely restore to a phone which has already messages stored
on it, SMS Backup+ will skip the existing messages.
Before the restore can start you will need to confirm the change of the
default SMS app. This step is required to get further permissions to write
messages (see also the corresponding FAQ entry).
SMS Backup+ can also backup and restore your call logs. It stores all calls using a
separate label (defaults to Call log
, but can be changed in “Advanced
settings”). If you wish you can set this to the same value as SMS
, to make all
backups use the same label.
The body of the call log message contains the duration of the
call in seconds followed by the phone number and call type (incoming
/
outgoing
/ missed
).
An example:
267s (00:04:07)
+44123456789 (incoming call)
You can also add call log entries to a Google calendar. Just select Calendar sync
in Advanced settings, and make sure you have selected a calendar to sync
with.
If you only want to backup specific call types (incoming, outgoint etc.) you can
do so as well.
👉 1.5.11: Call log backup is disabled by default. Permissions need to be confirmed
separately for phone and calendar access.
Rich Communication Services is currently not supported, nor are there any plans to support it.
Rich Communication Services is also known as RCS, Advanced Messaging, Advanced Communications, joyn or Message+.
If you want to trigger backups from another app, enable 3rd party integration
in Advanced Settings and send the broadcast intent
com.zegoggles.smssync.BACKUP
. This will work even when Auto Backup is
disabled.
You don’t have to use Gmail to backup your text messages - change
Authentication to “Plain text” in “Advanced settings - Custom IMAP server”,
then change the server address / user name and password accordingly. Make sure
to set security to “SSL (optional / trust all)” if your IMAP server
has a self-signed certificate (“Unknown certificate” error during
backup).
👉 1.5.11: security settings have been simplified. Select TLS and check
“Trust all certificates” if using a self-signed certificate.
Also note that Gmail labels simply correspond to IMAP folders that will
automatically get created on the first backup.
If you don’t find an answer here you can also visit the Google+ community which might be able
to help.
First search Github issues to see if the bug has already been reported. If not, create a new
issue and attach the following details:
If it is related to backing up / restoring you should also enable the sync log with
“Extra debug information” enabled (in “Advanced settings”) and attach a relevant portion of it.
The sync log is stored as sms_backup_plus.log
(in the directory Android/data/com.zegoggles.smssync/files
).
👉 1.5.11: new log file path, was previously on external storage / sdcard.
Rather than including the log in the text of your issue description, please use the “attach
image” feature to attach your logfile as text to your issue.
Alternatively, create a gist and link to it from your issue description.
It might also be worth to install the current beta version of SMS Backup+ to
see if the bug is also present in the development version.
Over the years a lot of features have been added, often as a result of
requests by users. This has worked great initially but has made the product itself very unfocussed
and generic. It started as a tool to back up text messages (as the name SMS Backup implies) but
gradually more and more features were added (call logs, MMS, WhatsApp…). It’s now at a point where
it has become too heavy and difficult too maintain or use. The settings screen makes this obvious,
there are just too many things to configure. If anything features should be removed at this point,
not added. A more focussed product would be easier to maintain and use.
Right now, SMS Backup+ is in maintenance mode; no new features will be added. Existing bugs will of
course be addressed.
👉 1.5.11 introduces runtime permissions (Android 6.0+) which means that you only grant the permissions
for the features you actually use, after installing the application.
Try uninstalling the app, then installing the new version. Make sure to select
“Skip” when doing the first backup, otherwise messages will get backed up
twice.
If the automatic backup does not work first make sure that a manually
initiated backup works as expected.
👉 1.5.11 brings many improvements to auto-backup reliability. However some beta users have
still reported problems. If the backups don’t run automatically try changing the Android
“Battery optimization” settings for SMS Backup+ to “Don’t optimize”.
When reporting a bug related to auto backup it is essential to attach a sync log file. See
the relevant FAQ for more information on how to do this.
Make sure you have the “Show IMAP” option checked in the Gmail label settings:
If this is the case make sure that the label name is set correctly (capitalization
matters!).
Select “Reset” from the menu, and confirm that you want to reset the current
sync state. All messages on the phone will be backed up on the next run.
Do you use a non-standard app like Google Voice/Hangouts or Signal to send
messages? It could also be a device specific problem.
Related issues: 516, 841.
This is probably related to Gmail’s automatic priority inbox filing.
A workaround is to set up a filter with “subject: SMS with”, let the filter
mark it as not important.
Just set the label to “Inbox” instead of the default “SMS” or “Call log”.
Incoming backup schedule is used for incoming messages. 3 minutes here means
that any incoming SMS will trigger a backup after 3 minutes. It is a full
backup (including any sent messages). You should set the incoming schedule to a
low value if you want to make sure that incoming SMS show up in
Gmail shortly after arrival.
Regular schedule is used to perform backups in specific intervals. 2 hours here
means that the device will try to backup all messages every 2 hours.
Fewer updates performed by the app means less energy consumed, so there’s
a trade-off data protection vs. battery life.
If you require more control over the backup schedule than what SMS Backup+ already
provides you can use a 3rd party app to trigger the backup. Tasker for
example supports SMS Backup+ since version 1.0.14.
This seems to be a limitation of Gmail. After the first hundred or so SMS being
backed up, Gmail will cease to properly thread many of the conversations.
You will notice that Gmail will eventually treat each SMS (in that initial
backup) as individual conversations and will not longer group/thread them
together.
A way around this is to do a full backup 100 SMS at a time (see Advanced settings
).
It’s a Gmail feature, but you can disable it.
In Gmail settings, set conversation view to off
(screenshot).
No. SMS Backup+ does not do a “real” sync, once the text has been transferred
to Gmail it won’t get modified or deleted by the app.
This means that it is impossible to establish a trusted connection with the IMAP server. A few
reasons why this might happen:
You can try to set the IMAP Server Setting Security
to SSL (optional / trust all)
.
👉 1.5.11: Added “Trust all certificates” option
Google has changed the way SMS permissions work starting with Android 4.4
(KitKat). In order to get write access to your messages an app has to be set as
the default system SMS app. Before starting the restore operation SMS Backup+
will request your permission to be set as default app. After restoring you will
be asked to set the previous choice (usually “Messaging”) back as default.
⚠️ This last step is important, if you don’t set the old default back you might
lose new messages.
No, for a variety of reasons: MMS are highly carrier-dependent, documentation is lacking and the
Android Emulator does not support them.
However SMS Backup+ is open source; patches are more than welcome.
SMS Backup has not been designed to restore many thousands of messages. See the
question “How do I restore the last N weeks / N messages?” for a way around that.
If you have a lot of messages backed up (let’s say over 5000) restoring can be
very slow, especially if you’re only interested in the most recent messages.
A workaround is to use the Gmail web interface (or an IMAP email client) to
move the bulk of the messages to another label in Gmail (e.g. SMSARCHIVED), and
only keep a few hundred or so messages in the SMS label.
Next time you restore it will only restore those messages and it will be a lot
faster.
Go to Authorized Access to your Google Account and select “Remove Access”
next to “SMS Backup+”.
If you get this error message and your network connection is active
double-check that your time zone settings are correct, and that the local time is
displaying correctly. The authentication process won’t work otherwise.
If you want to help beta testing, visit the Play Store beta page. You will be asked to opt in
to the beta program (you can leave it anytime).
Once opted in your device will automatically update to the latest beta which might have bug fixes
and features not found in the currently released version.
Alternatively you can download an APK from Github releases and install it manually
(⚠️ you won’t get automatic updates this way). You can also install via F-Droid
which often has more recent versions than what is available on the Play Store.
$ git clone https://github.com/jberkel/sms-backup-plus.git
$ cd sms-backup-plus
$ ./gradlew assembleDebug
$ adb install app/build/outputs/apk/app-debug.apk
If you want to help translating the UI to other languages download and
translate the following file, then send the translated version via email:
However, if you’re already familiar with Git you can just clone the
repository and submit a pull request.
This application is released under the terms of the Apache License, Version 2.0.