I'll go a bit further and say only value types should have getters. Each value type should be immutable and come with a builder which is mutable and has setters.
If your value type has setters they should return a new instance after copying the other values.
Url.setAnchor(...)
Would return a new Url copying the host port etc but overwrite the anchor.
Your service type classes don't need setters ( set them in ctor) and definitely font need getters. Your Mailer should take the host/port/etc static stuff in it's ctor. If I wish to send an email then I cell it's send(), there is no reason why my code should need to know or want or require the host and other config values. That said it would make sense to create a MailServer class like the following
// value type
MsilServer{
String host
int port
String username
Strung password // all come ruth getters
}
// factory
Mailer create( MailServer)