| Line 205... |
Line 205... |
| 205 |
}
|
205 |
}
|
| 206 |
LOGGER.info("Profile is [{}]", properties.get("profile"));
|
206 |
LOGGER.info("Profile is [{}]", properties.get("profile"));
|
| 207 |
return (String) properties.get("profile");
|
207 |
return (String) properties.get("profile");
|
| 208 |
}
|
208 |
}
|
| 209 |
|
209 |
|
| - |
|
210 |
/**
|
| - |
|
211 |
* The default sender.
|
| - |
|
212 |
*
|
| - |
|
213 |
* Verified working 2026-08-31: MAIL FROM:<noreply@smartdukaan.com> returns 250
|
| - |
|
214 |
* over IPv4. It does not authenticate -- Workspace authorises it by allowlisted
|
| - |
|
215 |
* source IP -- so it may legitimately send as noreply@.
|
| - |
|
216 |
*
|
| - |
|
217 |
* googleMailSender is NOT the default: its app password is currently rejected
|
| - |
|
218 |
* with "535 5.7.8 Username and Password not accepted". Point the default back at
|
| - |
|
219 |
* it once a valid app password is issued for sdtech@smartdukaan.com.
|
| - |
|
220 |
*
|
| - |
|
221 |
* The allowlist covers the IPv4 address only. Over IPv6 the same command is
|
| - |
|
222 |
* refused with "550 5.7.1 Invalid credentials for relay", so anything that
|
| - |
|
223 |
* prefers IPv6 will fail here.
|
| - |
|
224 |
*/
|
| 210 |
@Bean(name = "gmailRelaySender")
|
225 |
@Bean(name = {"gmailRelaySender", "mailSender"})
|
| - |
|
226 |
@Primary
|
| 211 |
public JavaMailSender getGmailRelaySender() {
|
227 |
public JavaMailSender getGmailRelaySender() {
|
| 212 |
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
|
228 |
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
|
| 213 |
mailSender.setHost("smtp-relay.gmail.com");
|
229 |
mailSender.setHost("smtp-relay.gmail.com");
|
| 214 |
mailSender.setPort(587);
|
230 |
mailSender.setPort(587);
|
| 215 |
|
231 |
|
| Line 232... |
Line 248... |
| 232 |
* The default sender. Authenticates as sdtech@smartdukaan.com and rewrites every
|
248 |
* The default sender. Authenticates as sdtech@smartdukaan.com and rewrites every
|
| 233 |
* From to that identity — Workspace binds an authenticated session to one address
|
249 |
* From to that identity — Workspace binds an authenticated session to one address
|
| 234 |
* and rejects any other. Also answers to "mailSender" so unqualified
|
250 |
* and rejects any other. Also answers to "mailSender" so unqualified
|
| 235 |
* JavaMailSender injections resolve here.
|
251 |
* JavaMailSender injections resolve here.
|
| 236 |
*/
|
252 |
*/
|
| 237 |
@Bean(name = {"googleMailSender", "mailSender"})
|
253 |
@Bean(name = "googleMailSender")
|
| 238 |
@Primary
|
- |
|
| 239 |
public JavaMailSender googleMailSender() {
|
254 |
public JavaMailSender googleMailSender() {
|
| 240 |
JavaMailSenderImpl mailSender = new AuthenticatedIdentityMailSender();
|
255 |
JavaMailSenderImpl mailSender = new AuthenticatedIdentityMailSender();
|
| 241 |
mailSender.setHost("smtp.gmail.com");
|
256 |
mailSender.setHost("smtp.gmail.com");
|
| 242 |
mailSender.setPort(465);
|
257 |
mailSender.setPort(465);
|
| 243 |
mailSender.setUsername("sdtech@smartdukaan.com");
|
258 |
mailSender.setUsername("sdtech@smartdukaan.com");
|