Próbowałem wysłać e-mail za pomocą Pythona na kilka sposobów w aplikacji Kivy na Androida. Najbliższy, do którego przyszedłem, używa funkcji e-mailowej Plyera (https://plyer.readthedocs.org/en/latest/#plyer.facades.Email), ale nie obsługuje załączników.Wyślij wiadomość e-mail z załącznikiem z aplikacji Kivy na Androida, najlepiej otwierając klienta poczty e-mail
Co chcę, aby moja aplikacja działała to otwieranie klienta poczty e-mail użytkownika i wypełnianie pól odbiorcy, tematu, treści i załącznika. Załącznikiem będzie plik .csv generowany przez moją aplikację.
Czy ktoś ma sugestie, jak to zrobić? Jak mogę zmodyfikować ten kod tak, aby zawierał załączniki?
from jnius import autoclass, cast
from plyer.facades import Email
from plyer.platforms.android import activity
Intent = autoclass('android.content.Intent')
AndroidString = autoclass('java.lang.String')
class AndroidEmail(Email):
def _send(self, **kwargs):
intent = Intent(Intent.ACTION_SEND)
intent.setType('text/plain')
recipient = kwargs.get('recipient')
subject = kwargs.get('subject')
text = kwargs.get('text')
create_chooser = kwargs.get('create_chooser')
if recipient:
intent.putExtra(Intent.EXTRA_EMAIL, [recipient])
if subject:
android_subject = cast('java.lang.CharSequence',
AndroidString(subject))
intent.putExtra(Intent.EXTRA_SUBJECT, android_subject)
if text:
android_text = cast('java.lang.CharSequence',
AndroidString(text))
intent.putExtra(Intent.EXTRA_TEXT, android_text)
if create_chooser:
chooser_title = cast('java.lang.CharSequence',
AndroidString('Send message with:'))
activity.startActivity(Intent.createChooser(intent,
chooser_title))
else:
activity.startActivity(intent)
def instance():
return AndroidEmail()