// Path: plume-mail/src/main/java/com/coreoz/plume/mail/MailerProvider.java
// @Singleton
// public class MailerProvider implements Provider<Mailer> {
// 
// 	private final Mailer mailer;
// 
// 	@Inject
// 	public MailerProvider(Config config) {
// 		this.mailer = initializeMailer(config);
// 	}
// 
// 	@Override
// 	public Mailer get() {
// 		return mailer;
// 	}
// 
// 	private static Mailer initializeMailer(Config config) {
// 		ConfigLoader.loadProperties(
// 			// Properties are in ISO 8859 1
// 			new ByteArrayInputStream(readMailConfiguration(config).getBytes(StandardCharsets.ISO_8859_1)),
// 			true
// 		);
// 
// 		return MailerBuilder.buildMailer();
// 	}
// 
// 	// visible for testing
// 	static String readMailConfiguration(Config config) {
// 		return config
// 			.getObject("mail")
// 			.entrySet()
// 			.stream()
// 			.map(entry -> "simplejavamail." + entry.getKey() + "=" + entry.getValue().unwrapped().toString())
// 			.collect(Collectors.joining("\n"));
// 	}
// 
// }


import javax.inject.Singleton;
import org.simplejavamail.api.mailer.Mailer;
import com.coreoz.plume.mail.MailerProvider;
import dagger.Module;
import dagger.Provides;
package com.coreoz.plume.mail.dagger;





@Module
public class DaggerMailModule {

	@Provides
	@Singleton
// Path: plume-mail/src/main/java/com/coreoz/plume/mail/MailerProvider.java
// @Singleton
// public class MailerProvider implements Provider<Mailer> {
// 
// 	private final Mailer mailer;
// 
// 	@Inject
// 	public MailerProvider(Config config) {
// 		this.mailer = initializeMailer(config);
// 	}
// 
// 	@Override
// 	public Mailer get() {
// 		return mailer;
// 	}
// 
// 	private static Mailer initializeMailer(Config config) {
// 		ConfigLoader.loadProperties(
// 			// Properties are in ISO 8859 1
// 			new ByteArrayInputStream(readMailConfiguration(config).getBytes(StandardCharsets.ISO_8859_1)),
// 			true
// 		);
// 
// 		return MailerBuilder.buildMailer();
// 	}
// 
// 	// visible for testing
// 	static String readMailConfiguration(Config config) {
// 		return config
// 			.getObject("mail")
// 			.entrySet()
// 			.stream()
// 			.map(entry -> "simplejavamail." + entry.getKey() + "=" + entry.getValue().unwrapped().toString())
// 			.collect(Collectors.joining("\n"));
// 	}
// 
// }


// Path: plume-mail/src/main/java/com/coreoz/plume/mail/dagger/DaggerMailModule.java
import javax.inject.Singleton;
import org.simplejavamail.api.mailer.Mailer;
import com.coreoz.plume.mail.MailerProvider;
import dagger.Module;
import dagger.Provides;

package com.coreoz.plume.mail.dagger;





@Module
public class DaggerMailModule {

	@Provides
	@Singleton
	static Mailer provideMailer(MailerProvider mailerProvider) {