Faits :
A.
Par jugement du 23 mai 2019, le Tribunal de police de l'arrondissement de La Côte a condamné A._, pour diffamation, à une peine pécuniaire de 20 jours-amende à 60 fr. le jour, avec sursis pendant 2 ans et à une amende de 300 fr., la peine privative de liberté de substitution étant de 3 jours. Il a par ailleurs ordonné la publication du dispositif du jugement au pilier public de la commune de C._ et alloué à B._ la somme de 500 fr. à titre de dommages et intérêts, à la charge de A._.
B.
Statuant le 29 octobre 2019, la Cour d'appel pénale du Tribunal cantonal vaudois a partiellement admis l'appel formé par A._ contre ce jugement, qu'elle a réformé en ce sens qu'elle a renoncé à ordonner la publication du jugement et réduit à 334 fr. 60 le montant dû à B._ à titre de dommages et intérêts.
Les faits à l'origine de cette condamnation sont en substance les suivants.
A C._, à l'issue de la séance du conseil général du mois d'octobre 2017, alors qu'il était sur le point de quitter la salle, A._ a tenu des propos laissant entendre que B._ s'était rendue coupable de travail au noir, son mari ayant effectué des travaux de terrassement pour le compte du syndic et de son épouse lors de samedis.
Par courrier du 24 novembre 2017 adressé à la Préfète du district de Morges, avec copie à la Présidente du Conseil d'Etat vaudois, A._ a répété les mêmes accusations indiquant: " j'ai eu tort d'accepter de me rétracter concernant l'accusation de travail au noir. Je regrette de vous avoir fait confiance. Comment dois-je appeler le fait que le mari d'une municipale qui travaille en qualité d'employé d'une entreprise de construction la semaine, effectue des travaux de terrassement sur plusieurs samedis dans la propriété de Monsieur le Syndic et produit une facture au nom d'une entreprise qui importe des cuisines? ".
B._ a déposé plainte le 16 décembre 2017.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre le jugement de la cour d'appel pénale. Il conclut, avec suite de frais et dépens, à la réforme de l'arrêt attaqué en ce sens qu'il est libéré du chef d'accusation de diffamation et que les prétentions civiles et en indemnisation de l'intimée sont rejetées.

Considérant en droit :
1.
Le recourant soutient que la cour cantonale a violé son droit à un procès équitable, son droit d'être entendu ainsi que le principe de l'instruction à charge et à décharge. Il reproche à cette autorité de lui avoir refusé la possibilité de faire entendre deux témoins.
1.1. Selon l'<ref-law>, la procédure de recours se fonde sur les preuves administrées pendant la procédure préliminaire et la procédure de première instance. L'<ref-law> règle les preuves complémentaires. Ainsi, la juridiction de recours administre, d'office ou à la demande d'une partie, les preuves complémentaires nécessaires au traitement du recours. Compris comme l'un des aspects du droit à un procès équitable, le droit d'être entendu, consacré par l'<ref-law>, garantit aux parties le droit de déposer des propositions relatives aux moyens de preuves (al. 1 let. e). Conformément à l'<ref-law>, il n'y a pas lieu d'administrer des preuves sur des faits non pertinents, notoires, connus de l'autorité ou déjà suffisamment prouvés. Cette disposition codifie, pour la procédure pénale, la règle jurisprudentielle déduite de l'art. 29 al. 2 Cst. en matière d'appréciation anticipée des preuves (arrêt 6B_974/2019 du 25 octobre 2019 consid. 2.1 et les arrêts cités). Le refus d'instruire ne viole ainsi le droit d'être entendu des parties que si l'appréciation anticipée de la pertinence du moyen de preuve offert, à laquelle le juge a procédé, est entachée d'arbitraire (<ref-ruling> consid. 3.1.3 p. 435; <ref-ruling> consid. 3.3 p. 64; <ref-ruling> consid. 5.3 p. 236). Par ailleurs, la maxime de l'instruction oblige les autorités pénales à rechercher d'office tous les faits pertinents notamment pour la qualification de l'acte (cf. <ref-law>). Elles doivent instruire avec un soin égal les circonstances qui peuvent être à la charge et à la décharge du prévenu (al. 2). La maxime de l'instruction n'oblige toutefois pas le tribunal à administrer des preuves d'office, respectivement requises, lorsque les preuves administrées lui ont permis de se forger une conviction et que, procédant d'une manière non arbitraire à une appréciation anticipée d'autres preuves, il a la certitude qu'elles ne pourraient pas l'amener à modifier son opinion (<ref-law>; cf. arrêts 6B_713/2019 du 12 juillet 2019 consid. 2.2; 6B_503/2015 du 24 mai 2016 consid. 7.1, non publié in <ref-ruling>).
1.2. La cour cantonale a considéré que les preuves sollicitées par le recourant étaient inutiles car le dossier comportait, outre les déclarations des témoins de l'intimée, le procès-verbal provisoire de la séance du conseil général du 22 juin 2017, le procès-verbal de l'audience de conciliation tenue par la préfète le 12 octobre 2017 et le courrier du recourant du 24 novembre 2017; elle a estimé que ces éléments étaient suffisants pour lui permettre de statuer.
Il ressort de ces documents que lors de la séance du conseil général du 22 juin 2017 le recourant a dit que le syndic avait engagé l'époux de l'intimée pour du travail au noir le samedi dans son jardin (PV provisoire de la séance du 22 juin 2017, ch. 7). La cour cantonale a admis que l'intimée n'était pas directement concernée par cette accusation. C'est lors de la séance de conciliation qui s'est tenue le 12 octobre 2017 en présence de la préfète que le recourant a appris que les travaux litigieux avaient été effectués par l'entreprise de l'intimée (PV de la séance du 12 octobre 2017, p. 2 ch. 1). En fin de séance, les parties ont convenu que le recourant lirait, en ouverture de la prochaine séance du conseil général, un texte dans lequel il affirmerait que le syndic lui avait fourni les preuves démontrant que le travail effectué par l'entreprise de l'intimée pour l'aménagement de son jardin familial avait fait l'objet d'un mandat et d'une facturation en bonne et due forme (PV de la séance du 12 octobre 2017, p. 5 ch. 6). Le procès-verbal de la séance du conseil général du 26 octobre 2017 ne contient toutefois aucune mention à ce propos. En date du 24 novembre 2017, le recourant a adressé à la Préfète du district de Morges, avec copie à la Présidente du Conseil d'Etat vaudois, une lettre dans laquelle il affirme qu'aucune de ses interventions n'est mensongère ou illégale et qu'il a eu tort de se rétracter concernant l'accusation d'un travail au noir, ajoutant " comment dois-je appeler le fait que le mari d'une municipale qui travaille en qualité d'employé d'une entreprise de construction la semaine, effectue des travaux de terrassement sur plusieurs samedis dans la propriété de Monsieur le Syndic et produit une facture au nom d'une entreprise qui importe des cuisines? ".
Ces documents permettent indiscutablement d'établir que le recourant a accusé l'intimée d'avoir fait effectuer par son mari du travail au noir. Le texte de la lettre qu'il a adressée à la préfète en date du 24 novembre 2017 contient clairement une telle accusation.
S'agissant des accusations proférées par le recourant lors de la séance du conseil général du 26 octobre 2017, la cour cantonale a notamment fondé sa conviction sur les déclarations de deux témoins, en précisant qu'elles étaient confirmées par la teneur de sa lettre à la préfète. Les faits décrits par les témoins s'intègrent dans le déroulement des faits tels qu'ils ressortent des documents qui figurent au dossier, avec lesquels ils concordent parfaitement. Il n'était donc pas insoutenable d'en tenir compte et de refuser d'entendre les témoins sollicités par le recourant, dont les déclarations n'auraient pas été à même d'ébranler la conviction des juges cantonaux, qui repose essentiellement sur des documents dont la force probante ne saurait être remise en question.
2.
Le recourant soutient que l'acte d'accusation viole le principe d'accusation car il n'est pas suffisamment détaillé faute de retranscrire fidèlement les propos dénoncés par l'intimée.
L'<ref-law> consacre la maxime d'accusation. Selon cette disposition, une infraction ne peut faire l'objet d'un jugement que si le ministère public a déposé, auprès du tribunal compétent, un acte d'accusation dirigé contre une personne déterminée sur la base de faits précisément décrits. Le prévenu doit connaître exactement les faits qui lui sont imputés et les peines et mesures auxquelles il est exposé, afin qu'il puisse s'expliquer et préparer efficacement sa défense (<ref-ruling> consid. 2.2 p. 65; <ref-ruling> consid. 3.4.1 p. 142 s.). Le tribunal est lié par l'état de fait décrit dans l'acte d'accusation (principe de l'immutabilité de l'acte d'accusation), mais peut s'écarter de l'appréciation juridique qu'en fait le ministère public (<ref-law>), à condition d'en informer les parties présentes et de les inviter à se prononcer (<ref-law>). Le principe de l'accusation découle également des art. 29 al. 2 Cst. (droit d'être entendu), 32 al. 2 Cst. (droit d'être informé, dans les plus brefs délais et de manière détaillée des accusations portées contre soi) et 6 par. 3 let. a et b CEDH (droit d'être informé de la nature et de la cause de l'accusation).
Les <ref-law> règlent la mise en accusation, en particulier le contenu strict de l'acte d'accusation. Selon l'<ref-law>, l'acte d'accusation désigne notamment les actes reprochés au prévenu, le lieu, la date et l'heure de leur commission ainsi que leurs conséquences et le mode de procéder de l'auteur (let. f) de même que les infractions réalisées et les dispositions légales applicables de l'avis du ministère public (let. g). En d'autres termes, l'acte d'accusation doit contenir les faits qui, de l'avis du ministère public, correspondent à tous les éléments constitutifs de l'infraction reprochée au prévenu, de manière à ce qu'il puisse préparer efficacement sa défense (<ref-ruling> consid. 2.2 p. 65 et les arrêts cités). Des imprécisions relatives au lieu ou à la date sont sans portée, dans la mesure où le prévenu ne peut pas avoir de doute sur le comportement qui lui est reproché (arrêt 6B_1149/2019 du 15 janvier 2020 consid. 4.1 et les arrêts cités).
Il ressort des constatations de la cour cantonale que, selon l'acte d'accusation, il est reproché au recourant d'avoir lors de la séance du conseil général d'octobre 2017 réitéré les propos qu'il avait tenus lors de la séance de juin de la même autorité, selon lesquels l'intimée s'était rendue coupable de travail au noir, son mari ayant effectué des travaux de terrassement pour le compte du syndic et de son épouse lors de samedis et d'avoir répété les mêmes accusations par courrier du 24 novembre 2017, adressé à la Préfète du district de Morges avec copie à la Présidente du Conseil d'Etat vaudois.
Comme l'a relevé la cour cantonale, même sans retranscrire exactement les propos imputés au recourant, l'acte d'accusation, permettait à ce dernier de connaître les faits qui lui étaient reprochés de manière suffisamment précise pour qu'il puisse préparer efficacement sa défense. C'est en vain que le recourant soutient que l'acte d'accusation ne lui permettait pas de retenir que ses propos du mois d'octobre avaient pu porter atteinte à l'honneur de l'intimée. Même si selon la formulation de l'acte l'accusation il lui est reproché d'avoir à cette date réitéré les propos tenus lors de la séance de juin, le fait que le recourant n'ait pas été condamné à raison de ces derniers n'implique pas que la répétition de ces propos en octobre ne pouvait pas porter atteinte à l'honneur de l'intimée. En effet, l'indication selon laquelle il avait répété ses propos était suffisante pour que le recourant connaisse la teneur des paroles qui lui étaient imputées. L'abandon de la poursuite pour les faits de juin a été motivée par la constatation qu'il ne savait pas à ce moment-là que le mari de l'intimée avait effectué les travaux litigieux pour le compte de l'entreprise de son épouse, circonstance dont il a eu connaissance entre-temps. Dans ces circonstances, il est compréhensible que les mêmes affirmations aient été retenues à l'encontre du recourant lorsqu'elles ont été répétées en octobre alors qu'elles ne l'ont pas été lorsqu'il les a émises la première fois en juin. Enfin, il ressort clairement de l'acte d'accusation que les propos imputés au recourant ont été émis, en des termes analogues, à trois reprises, la dernière fois par écrit, ce qui lui a permis de connaître clairement la teneur des accusations qui lui étaient faites.
3.
Invoquant l'interdiction de l'arbitraire, le recourant reproche à la cour cantonale d'avoir constaté de manière manifestement inexacte les faits pertinents. Il lui reproche d'avoir omis de prendre en considération la lettre que la préfète lui a adressée en date du 2 février 2018 et qui contient le passage suivant: « Au vu de ce qui précède, c'est avec raison que vous avez fait retirer en séance du conseil du 26 octobre 2017, les propos que vous aviez tenus lors de la précédente assemblée du 22 juin 2017, concernant l'engagement de " l'époux de Mme B._ pour travail au noir " ». Selon lui cet extrait, auquel s'ajoute un passage de sa propre lettre du 24 novembre 2017 à la préfète dans lequel il dit avoir eu tort d'accepter de se rétracter, atteste du fait qu'il n'a pas réitéré ses accusations lors de la séance d'octobre.
3.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (<ref-law>), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, soit pour l'essentiel de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation mais aussi dans son résultat. Le Tribunal fédéral n'entre pas en matière sur les critiques de nature appellatoire.
3.2. Il a été constaté au consid. 1.2 ci-dessus que l'appréciation anticipée des preuves à laquelle a procédé la cour cantonale lui permettait de parvenir, sans encourir le grief d'arbitraire, à la conclusion que le recourant avait réitéré les propos selon lesquels le mari de l'intimée avait effectué, au noir, des travaux de terrassement pour le syndic et son épouse, et ce alors qu'il savait depuis la séance de conciliation du 12 octobre 2017, que ces travaux avaient été effectués au nom de l'entreprise de l'intimée, qui avait établi une facture.
Contrairement à ce que prétend le recourant, les faits retenus par la cour cantonale ne sont pas incompatibles avec les documents invoqués. En effet, la lecture de la lettre de la préfète dans son intégralité montre clairement que cette dernière se réfère à la séance du 12 octobre 2017, au cours de laquelle le recourant avait effectivement accepté de retirer les propos qu'il avait tenus au mois de juin précédent et informe le recourant que l'enquête administrative qu'elle a menée lui a permis de constater que le travail en question avait été effectué dans le respect des règles, raison pour laquelle elle confirmait que c'est à juste titre que le recourant avait, conformément à l'engagement qu'il avait pris en sa présence, fait retirer les propos litigieux. Même si le courrier de la préfète est postérieur à la séance du conseil général d'octobre, rien dans son contenu ne donne à penser que sa rédactrice avait eu connaissance de l'issue de cette séance, de sorte que l'interprétation que cherche à en faire le recourant ne s'impose pas. Par ailleurs, la lettre que le recourant a adressée à la préfète et dont il se prévaut également ne conduit pas à une conclusion différente puisque dans ce document il ne fait que regretter d'avoir accepté de se rétracter, sans prétendre qu'il aurait honoré cet engagement.
4.
Le recourant se plaint enfin d'une violation de l'<ref-law>.
4.1. Aux termes de l'<ref-law>, celui qui, en s'adressant à un tiers, aura accusé une personne ou jeté sur elle le soupçon de tenir une conduite contraire à l'honneur, ou de tout autre fait propre à porter atteinte à sa considération, celui qui aura propagé une telle accusation ou un tel soupçon, sera, sur plainte, puni d'une peine pécuniaire.
Cette disposition protège la réputation d'être un individu honorable, c'est-à-dire de se comporter comme une personne digne a coutume de le faire selon les conceptions généralement reçues. Il faut donc que l'atteinte fasse apparaître la personne visée comme méprisable (<ref-ruling> consid. 2.1.1 p. 315). L'honneur protégé par le droit pénal est conçu de façon générale comme un droit au respect, qui est lésé par toute assertion propre à exposer la personne visée au mépris en sa qualité d'être humain (<ref-ruling> consid. 2.1 p. 115). Pour apprécier si une déclaration est attentatoire à l'honneur, il faut se fonder non pas sur le sens que lui donne la personne visée, mais sur une interprétation objective selon la signification qu'un destinataire non prévenu doit, dans les circonstances d'espèce, lui attribuer (<ref-ruling> consid 2.1.3 p. 315 s.).
Il y a toujours atteinte à l'honneur lorsqu'on évoque une infraction pénale ou un comportement clairement réprouvé par les conceptions morales généralement admises (voir arrêt 6B_1145/2019 du 18 décembre 2019 consid. 2.3.1; cf. aussi <ref-ruling> consid. 2 p. 207 et 103 IV 161 consid. 2 p. 161).
4.2. La cour cantonale a considéré que les accusations de travail au noir portées par le recourant à l'encontre de l'intimée étaient clairement attentatoires à l'honneur de cette dernière puisqu'ils lui imputaient un comportement pénalement répréhensible conformément aux <ref-law> et 87 ss LAVS.
4.3. Dans la mesure où le recourant renouvelle ses critiques relatives à l'administration et à l'appréciation des preuves, son grief a déjà été rejeté ci-dessus, de sorte qu'il n'y a pas lieu d'y revenir.
Par ailleurs, le recourant soutient que la phrase " depuis quand une entreprise de cuisine fait des aménagements extérieurs? " est une interrogation et non une affirmation. L'argumentation du recourant sur ce point confine à la mauvaise foi tant il est évident que la formulation utilisée signifie qu'il est de notoriété publique qu'une telle entreprise n'effectue pas de travaux de cette nature.
En outre, le recourant prétend n'avoir pas cherché à mettre en cause la probité de l'intimée, dont il ignorait le rôle exact joué dans les travaux litigieux et a fortiori dans l'émission de la facture y relative.
Comme le recourant le relève lui-même, il ressort des constatations de la cour cantonale, qui lient le Tribunal fédéral conformément à l'<ref-law>, qu'il a appris la fausseté des allégations de travail au noir lors de la séance de conciliation du 12 octobre 2017. Son argumentation est donc irrecevable car elle repose sur des prémisses qui ne correspondent pas aux constatations de la cour cantonale. Enfin, en raison de l'interdiction de la réformatio in pejus, il n'y a pas lieu d'examiner le grief dans la mesure où le recourant semble soutenir que dès lors qu'il connaissait la fausseté de ses affirmations la qualification de diffamation ne pouvait être retenue, seule la calomnie entrant en considération.
5.
Mal fondé, le recours doit être rejeté dans la mesure où il est recevable et le recourant, qui succombe, supportera les frais de justice (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 3'000 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal vaudois.
Lausanne, le 20 mars 2020
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Paquier-Boinay