Other: Make configure apple mail work in split and combined mode

This commit is contained in:
James Houlahan
2022-10-12 17:28:20 +02:00
parent 1e845adc17
commit 4dc32dc7f2

View File

@ -6,6 +6,7 @@ import (
"github.com/ProtonMail/proton-bridge/v2/internal/clientconfig"
"github.com/ProtonMail/proton-bridge/v2/internal/constants"
"github.com/ProtonMail/proton-bridge/v2/internal/useragent"
"github.com/ProtonMail/proton-bridge/v2/internal/vault"
)
func (bridge *Bridge) ConfigureAppleMail(userID, address string) error {
@ -14,11 +15,18 @@ func (bridge *Bridge) ConfigureAppleMail(userID, address string) error {
return ErrNoSuchUser
}
// TODO: Handle split mode!
if address == "" {
address = user.Emails()[0]
}
username := address
addresses := address
if user.GetAddressMode() == vault.CombinedMode {
username = user.Emails()[0]
addresses = strings.Join(user.Emails(), ",")
}
// If configuring apple mail for Catalina or newer, users should use SSL.
if useragent.IsCatalinaOrNewer() && !bridge.vault.GetSMTPSSL() {
if err := bridge.SetSMTPSSL(true); err != nil {
@ -32,8 +40,8 @@ func (bridge *Bridge) ConfigureAppleMail(userID, address string) error {
bridge.vault.GetSMTPPort(),
bridge.vault.GetIMAPSSL(),
bridge.vault.GetSMTPSSL(),
address,
strings.Join(user.Emails(), ","),
username,
addresses,
user.BridgePass(),
)
}